Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1/*
2 * Copyright (C) 2012 - 2014 Cisco Systems
3 * Copyright (C) 2000 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
4 * Licensed under the GPL
5 */
6
7#ifndef __TIMER_INTERNAL_H__
8#define __TIMER_INTERNAL_H__
9
10#define TIMER_MULTIPLIER 256
11#define TIMER_MIN_DELTA 500
12
13enum time_travel_mode {
14 TT_MODE_OFF,
15 TT_MODE_BASIC,
16 TT_MODE_INFCPU,
17};
18
19enum time_travel_timer_mode {
20 TT_TMR_DISABLED,
21 TT_TMR_ONESHOT,
22 TT_TMR_PERIODIC,
23};
24
25#ifdef CONFIG_UML_TIME_TRAVEL_SUPPORT
26extern enum time_travel_mode time_travel_mode;
27extern unsigned long long time_travel_time;
28extern enum time_travel_timer_mode time_travel_timer_mode;
29extern unsigned long long time_travel_timer_expiry;
30extern unsigned long long time_travel_timer_interval;
31
32static inline void time_travel_set_time(unsigned long long ns)
33{
34 time_travel_time = ns;
35}
36
37static inline void time_travel_set_timer_mode(enum time_travel_timer_mode mode)
38{
39 time_travel_timer_mode = mode;
40}
41
42static inline void time_travel_set_timer_expiry(unsigned long long expiry)
43{
44 time_travel_timer_expiry = expiry;
45}
46#else
47#define time_travel_mode TT_MODE_OFF
48#define time_travel_time 0
49#define time_travel_timer_expiry 0
50#define time_travel_timer_interval 0
51
52static inline void time_travel_set_time(unsigned long long ns)
53{
54}
55
56static inline void time_travel_set_timer_mode(enum time_travel_timer_mode mode)
57{
58}
59
60static inline void time_travel_set_timer_expiry(unsigned long long expiry)
61{
62}
63
64#define time_travel_timer_mode TT_TMR_DISABLED
65#endif
66
67#endif