aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/include/shared/timer-internal.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2019-07-14 20:17:34 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2019-07-14 20:17:34 -0400
commitf2772a0e4833d1af1901b6f1a38136fb71d1350c (patch)
tree28bf6f0944d745e19947273022224ebc6b2d07c8 /arch/um/include/shared/timer-internal.h
parentfcd98147ac71f35b69e2f50b5fddc5524dd2dfa8 (diff)
parentb482e48d29f1461fd0d059a17f32bcfa274127b3 (diff)
Merge tag 'for-linus-5.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml
Pull UML updates from Richard Weinberger: - A new timer mode, time travel, for testing with UML - Many bugixes/improvements for the serial line driver - Various bugfixes * tag 'for-linus-5.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml: um: fix build without CONFIG_UML_TIME_TRAVEL_SUPPORT um: Fix kcov crash during startup um: configs: Remove useless UEVENT_HELPER_PATH um: Support time travel mode um: Pass nsecs to os timer functions um: Remove drivers/ssl.h um: Don't garbage collect in deactivate_all_fds() um: Silence lockdep complaint about mmap_sem um: Remove locking in deactivate_all_fds() um: Timer code cleanup um: fix os_timer_one_shot() um: Fix IRQ controller regression on console read
Diffstat (limited to 'arch/um/include/shared/timer-internal.h')
-rw-r--r--arch/um/include/shared/timer-internal.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/arch/um/include/shared/timer-internal.h b/arch/um/include/shared/timer-internal.h
index 03e6f217f807..8574338bf23b 100644
--- a/arch/um/include/shared/timer-internal.h
+++ b/arch/um/include/shared/timer-internal.h
@@ -10,4 +10,52 @@
10#define TIMER_MULTIPLIER 256 10#define TIMER_MULTIPLIER 256
11#define TIMER_MIN_DELTA 500 11#define TIMER_MIN_DELTA 500
12 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(enum time_travel_timer_mode mode,
38 unsigned long long expiry)
39{
40 time_travel_timer_mode = mode;
41 time_travel_timer_expiry = expiry;
42}
43#else
44#define time_travel_mode TT_MODE_OFF
45#define time_travel_time 0
46#define time_travel_timer_expiry 0
47#define time_travel_timer_interval 0
48
49static inline void time_travel_set_time(unsigned long long ns)
50{
51}
52
53static inline void time_travel_set_timer(enum time_travel_timer_mode mode,
54 unsigned long long expiry)
55{
56}
57
58#define time_travel_timer_mode TT_TMR_DISABLED
59#endif
60
13#endif 61#endif