xref: /qemu/include/system/hvf.h (revision 989dd906ed5556563a57b32ae7abf9db5e1f38ba)
1 /*
2  * QEMU Hypervisor.framework (HVF) support
3  *
4  * Copyright Google Inc., 2017
5  *
6  * This work is licensed under the terms of the GNU GPL, version 2 or later.
7  * See the COPYING file in the top-level directory.
8  *
9  */
10 
11 /* header to be included in non-HVF-specific code */
12 
13 #ifndef HVF_H
14 #define HVF_H
15 
16 #include "qemu/accel.h"
17 
18 #ifdef COMPILING_PER_TARGET
19 # ifdef CONFIG_HVF
20 #  define CONFIG_HVF_IS_POSSIBLE
21 # endif /* !CONFIG_HVF */
22 #else
23 # define CONFIG_HVF_IS_POSSIBLE
24 #endif /* COMPILING_PER_TARGET */
25 
26 #ifdef CONFIG_HVF_IS_POSSIBLE
27 extern bool hvf_allowed;
28 #define hvf_enabled() (hvf_allowed)
29 #else /* !CONFIG_HVF_IS_POSSIBLE */
30 #define hvf_enabled() 0
31 #endif /* !CONFIG_HVF_IS_POSSIBLE */
32 
33 #define TYPE_HVF_ACCEL ACCEL_CLASS_NAME("hvf")
34 
35 typedef struct HVFState HVFState;
36 DECLARE_INSTANCE_CHECKER(HVFState, HVF_STATE,
37                          TYPE_HVF_ACCEL)
38 
39 #endif
40