accel/hax: Introduce CONFIG_HAX_IS_POSSIBLE
Mirror "sysemu/kvm.h" #ifdef'ry to define CONFIG_HAX_IS_POSSIBLE, expose hax_allowed to hax_enabled() macro. Suggested-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20220207075426.81934-9-f4bug@amsat.org>
This commit is contained in:
parent
f94bee49d2
commit
b04363c240
@ -16,6 +16,8 @@
|
|||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "sysemu/hax.h"
|
#include "sysemu/hax.h"
|
||||||
|
|
||||||
|
bool hax_allowed;
|
||||||
|
|
||||||
int hax_sync_vcpus(void)
|
int hax_sync_vcpus(void)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -25,17 +25,23 @@
|
|||||||
int hax_sync_vcpus(void);
|
int hax_sync_vcpus(void);
|
||||||
|
|
||||||
#ifdef NEED_CPU_H
|
#ifdef NEED_CPU_H
|
||||||
|
# ifdef CONFIG_HAX
|
||||||
|
# define CONFIG_HAX_IS_POSSIBLE
|
||||||
|
# endif
|
||||||
|
#else /* !NEED_CPU_H */
|
||||||
|
# define CONFIG_HAX_IS_POSSIBLE
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_HAX
|
#ifdef CONFIG_HAX_IS_POSSIBLE
|
||||||
|
|
||||||
int hax_enabled(void);
|
extern bool hax_allowed;
|
||||||
|
|
||||||
#else /* CONFIG_HAX */
|
#define hax_enabled() (hax_allowed)
|
||||||
|
|
||||||
#define hax_enabled() (0)
|
#else /* !CONFIG_HAX_IS_POSSIBLE */
|
||||||
|
|
||||||
#endif /* CONFIG_HAX */
|
#define hax_enabled() (0)
|
||||||
|
|
||||||
#endif /* NEED_CPU_H */
|
#endif /* CONFIG_HAX_IS_POSSIBLE */
|
||||||
|
|
||||||
#endif /* QEMU_HAX_H */
|
#endif /* QEMU_HAX_H */
|
||||||
|
@ -49,18 +49,13 @@ const uint32_t hax_cur_version = 0x4; /* API v4: unmapping and MMIO moves */
|
|||||||
/* Minimum HAX kernel version */
|
/* Minimum HAX kernel version */
|
||||||
const uint32_t hax_min_version = 0x4; /* API v4: supports unmapping */
|
const uint32_t hax_min_version = 0x4; /* API v4: supports unmapping */
|
||||||
|
|
||||||
static bool hax_allowed;
|
bool hax_allowed;
|
||||||
|
|
||||||
struct hax_state hax_global;
|
struct hax_state hax_global;
|
||||||
|
|
||||||
static void hax_vcpu_sync_state(CPUArchState *env, int modified);
|
static void hax_vcpu_sync_state(CPUArchState *env, int modified);
|
||||||
static int hax_arch_get_registers(CPUArchState *env);
|
static int hax_arch_get_registers(CPUArchState *env);
|
||||||
|
|
||||||
int hax_enabled(void)
|
|
||||||
{
|
|
||||||
return hax_allowed;
|
|
||||||
}
|
|
||||||
|
|
||||||
int valid_hax_tunnel_size(uint16_t size)
|
int valid_hax_tunnel_size(uint16_t size)
|
||||||
{
|
{
|
||||||
return size >= sizeof(struct hax_tunnel);
|
return size >= sizeof(struct hax_tunnel);
|
||||||
|
Loading…
Reference in New Issue
Block a user