mirror of
https://github.com/xqemu/xqemu.git
synced 2025-04-02 11:11:56 -04:00
-----BEGIN PGP SIGNATURE----- iQJNBAABCAA3FiEE4aXFk81BneKOgxXPPCUl7RQ2DN4FAly/PhEZHHBldGVyLm1h eWRlbGxAbGluYXJvLm9yZwAKCRA8JSXtFDYM3kAfD/9SnusF4bCaeHG+oq/cRhte LbS1uCoSxynMKRvhx+s/tk7kzovW9twChMfE4xVcxHBY9hUFgMLnnq1lrJZ9GN9B 6zTrO9UDnkAfgkUq9B3lL0b+OVn4QFlcOFUl6U0q9E3zFUiCneLK9cEpw20t+2EL 78sjrpENms7nCeuUhiwZm00lbn4stY9vAiOZpu8qrg9lzDVaRivK5BrtkutfmDRn REHll2gduZp3FNkexiJs73YU+BFZMBXM+PqldU+c4iU4Cq2lUNco+Q4Ks32Q7Nf7 9/U1j5znW9M4X9jDi8jSU5Bd0rJQMid1h0wV0SrE1PWKJOAvF8w+0FPmEJDERRx/ W7Pz7+rYr2iOsOyJT4CuJQZUvJmIyMUz7JNVHOh/P8Hmb1PKp7Egy5Kamo2o7slA I/5wmI6HDAizyjaV6UL2D8KqfedihZoTS6HmCc2eX75nfa0eauDFKCMwZKOb1FYI dldRhOE1wiFKCV/jPEdBNJbE8jH9e5kH3CpcB1vnmphqkmHz1yKIToFgTDGrc8e3 mj7e67iNG1oIUys/w3zgEUYI6iSbkSyIYv9nlUv8NNSTUKK2kfpUMbJW3FyXrFR2 QvaaNOYJJHG+x8sCpPwWRBQiix/x5F/s6RKMpRgIa/QYKPwGKniEjgqcGSMdmyxM RnuxJvLfYcyAILZx20nCIA== =92OI -----END PGP SIGNATURE----- Merge tag 'v4.0.0' into merge-v4.0.0 v4.0.0 release
54 lines
1.6 KiB
C
54 lines
1.6 KiB
C
/*
|
|
* QEMU Hypervisor.framework (HVF) support
|
|
*
|
|
* Copyright Google Inc., 2017
|
|
*
|
|
* This work is licensed under the terms of the GNU GPL, version 2 or later.
|
|
* See the COPYING file in the top-level directory.
|
|
*
|
|
*/
|
|
|
|
/* header to be included in non-HVF-specific code */
|
|
#ifndef _HVF_H
|
|
#define _HVF_H
|
|
|
|
#include "qemu-common.h"
|
|
#include "qemu/bitops.h"
|
|
#include "exec/memory.h"
|
|
#include "sysemu/accel.h"
|
|
|
|
extern bool hvf_allowed;
|
|
#ifdef CONFIG_HVF
|
|
uint32_t hvf_get_supported_cpuid(uint32_t func, uint32_t idx,
|
|
int reg);
|
|
#define hvf_enabled() (hvf_allowed)
|
|
#else
|
|
#define hvf_enabled() 0
|
|
#define hvf_get_supported_cpuid(func, idx, reg) 0
|
|
#endif
|
|
|
|
/* Disable HVF if |disable| is 1, otherwise, enable it iff it is supported by
|
|
* the host CPU. Use hvf_enabled() after this to get the result. */
|
|
void hvf_disable(int disable);
|
|
|
|
/* Returns non-0 if the host CPU supports the VMX "unrestricted guest" feature
|
|
* which allows the virtual CPU to directly run in "real mode". If true, this
|
|
* allows QEMU to run several vCPU threads in parallel (see cpus.c). Otherwise,
|
|
* only a a single TCG thread can run, and it will call HVF to run the current
|
|
* instructions, except in case of "real mode" (paging disabled, typically at
|
|
* boot time), or MMIO operations. */
|
|
|
|
int hvf_sync_vcpus(void);
|
|
|
|
int hvf_init_vcpu(CPUState *);
|
|
int hvf_vcpu_exec(CPUState *);
|
|
int hvf_smp_cpu_exec(CPUState *);
|
|
void hvf_cpu_synchronize_state(CPUState *);
|
|
void hvf_cpu_synchronize_post_reset(CPUState *);
|
|
void hvf_cpu_synchronize_post_init(CPUState *);
|
|
|
|
void hvf_vcpu_destroy(CPUState *);
|
|
void hvf_reset_vcpu(CPUState *);
|
|
int hvf_put_registers(CPUState *);
|
|
|
|
#endif
|