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(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
61#endif