1/*
2 * QEMU HAXM support
3 *
4 * Copyright IBM, Corp. 2008
5 *
6 * Authors:
7 * Anthony Liguori <aliguori@us.ibm.com>
8 *
9 * Copyright (c) 2011 Intel Corporation
10 * Written by:
11 * Jiang Yunhong<yunhong.jiang@intel.com>
12 * Xin Xiaohui<xiaohui.xin@intel.com>
13 * Zhang Xiantao<xiantao.zhang@intel.com>
14 *
15 * Copyright 2016 Google, Inc.
16 *
17 * This work is licensed under the terms of the GNU GPL, version 2 or later.
18 * See the COPYING file in the top-level directory.
19 *
20 */
21
22#ifndef QEMU_HAX_H
23#define QEMU_HAX_H
24
25
26int hax_sync_vcpus(void);
27int hax_init_vcpu(CPUState *cpu);
28int hax_smp_cpu_exec(CPUState *cpu);
29int hax_populate_ram(uint64_t va, uint64_t size);
30
31void hax_cpu_synchronize_state(CPUState *cpu);
32void hax_cpu_synchronize_post_reset(CPUState *cpu);
33void hax_cpu_synchronize_post_init(CPUState *cpu);
34void hax_cpu_synchronize_pre_loadvm(CPUState *cpu);
35
36#ifdef CONFIG_HAX
37
38int hax_enabled(void);
39
40#include "qemu/bitops.h"
41#include "exec/memory.h"
42int hax_vcpu_destroy(CPUState *cpu);
43void hax_raise_event(CPUState *cpu);
44void hax_reset_vcpu_state(void *opaque);
45#include "target/i386/hax-interface.h"
46#include "target/i386/hax-i386.h"
47
48#else /* CONFIG_HAX */
49
50#define hax_enabled() (0)
51
52#endif /* CONFIG_HAX */
53
54#endif /* QEMU_HAX_H */
55