xref: /linux/arch/um/include/shared/timetravel.h (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
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 defined(UML_CONFIG_UML_TIME_TRAVEL_SUPPORT) || \
16     defined(CONFIG_UML_TIME_TRAVEL_SUPPORT)
17 extern enum time_travel_mode time_travel_mode;
18 extern int time_travel_should_print_bc_msg;
19 #else
20 #define time_travel_mode TT_MODE_OFF
21 #define time_travel_should_print_bc_msg 0
22 #endif /* (UML_)CONFIG_UML_TIME_TRAVEL_SUPPORT */
23 
24 void _time_travel_print_bc_msg(void);
time_travel_print_bc_msg(void)25 static inline void time_travel_print_bc_msg(void)
26 {
27 	if (time_travel_should_print_bc_msg)
28 		_time_travel_print_bc_msg();
29 }
30 
31 #endif /* _UM_TIME_TRAVEL_H_ */
32