Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
at v5.3-rc7 67 lines 1.5 kB view raw
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