xref: /linux/arch/um/include/shared/timetravel.h (revision 831c1926ee728c3e747255f7c0f434762e8e863d)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Copyright (C) 2019-2021 Intel Corporation
4  */
5 #ifndef _UM_TIME_TRAVEL_H_
6 #define _UM_TIME_TRAVEL_H_
7 
8 enum time_travel_mode {
9 	TT_MODE_OFF,
10 	TT_MODE_BASIC,
11 	TT_MODE_INFCPU,
12 	TT_MODE_EXTERNAL,
13 };
14 
15 #if IS_ENABLED(CONFIG_UML_TIME_TRAVEL_SUPPORT)
16 extern enum time_travel_mode time_travel_mode;
17 extern int time_travel_should_print_bc_msg;
18 #else
19 #define time_travel_mode TT_MODE_OFF
20 #define time_travel_should_print_bc_msg 0
21 #endif /* CONFIG_UML_TIME_TRAVEL_SUPPORT */
22 
23 void _time_travel_print_bc_msg(void);
time_travel_print_bc_msg(void)24 static inline void time_travel_print_bc_msg(void)
25 {
26 	if (time_travel_should_print_bc_msg)
27 		_time_travel_print_bc_msg();
28 }
29 
30 #endif /* _UM_TIME_TRAVEL_H_ */
31