QEMU main repository: Please see https://www.qemu.org/docs/master/devel/submitting-a-patch.html for how to submit changes to QEMU. Pull Requests are ignored. Please only use release tarballs from the QEMU website. http://www.qemu.org
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
886 B
26 lines
886 B
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
#ifndef SYSTEM_WHPX_COMMON_H
|
|
#define SYSTEM_WHPX_COMMON_H
|
|
|
|
struct AccelCPUState {
|
|
bool window_registered;
|
|
bool interruptable;
|
|
bool ready_for_pic_interrupt;
|
|
uint64_t tpr;
|
|
uint64_t apic_base;
|
|
bool interruption_pending;
|
|
/* Must be the last field as it may have a tail */
|
|
WHV_RUN_VP_EXIT_CONTEXT exit_ctx;
|
|
};
|
|
|
|
int whpx_first_vcpu_starting(CPUState *cpu);
|
|
int whpx_last_vcpu_stopping(CPUState *cpu);
|
|
void whpx_memory_init(void);
|
|
struct whpx_breakpoint *whpx_lookup_breakpoint_by_addr(uint64_t address);
|
|
void whpx_flush_cpu_state(CPUState *cpu);
|
|
void whpx_get_reg(CPUState *cpu, WHV_REGISTER_NAME reg, WHV_REGISTER_VALUE* val);
|
|
void whpx_set_reg(CPUState *cpu, WHV_REGISTER_NAME reg, WHV_REGISTER_VALUE val);
|
|
|
|
/* On x64: same as WHvX64ExceptionTypeDebugTrapOrFault */
|
|
#define WHPX_INTERCEPT_DEBUG_TRAPS 1
|
|
#endif
|
|
|