accel/hvf: Restrict internal declarations
Common code only needs to know whether HVF is enabled and the QOM type. Move the rest to "hvf_int.h", removing the need for COMPILING_PER_TARGET #ifdef'ry. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Xiaoyao Li <xiaoyao.li@intel.com> Reviewed-by: Zhao Liu <zhao1.liu@intel.com> Message-Id: <20250703173248.44995-15-philmd@linaro.org>
This commit is contained in:
parent
a472390e80
commit
0175310c38
2 changed files with 34 additions and 38 deletions
|
|
@ -14,10 +14,6 @@
|
|||
#define HVF_H
|
||||
|
||||
#include "qemu/accel.h"
|
||||
#include "qemu/queue.h"
|
||||
#include "exec/vaddr.h"
|
||||
#include "qom/object.h"
|
||||
#include "exec/vaddr.h"
|
||||
|
||||
#ifdef COMPILING_PER_TARGET
|
||||
# ifdef CONFIG_HVF
|
||||
|
|
@ -40,38 +36,4 @@ typedef struct HVFState HVFState;
|
|||
DECLARE_INSTANCE_CHECKER(HVFState, HVF_STATE,
|
||||
TYPE_HVF_ACCEL)
|
||||
|
||||
#ifdef COMPILING_PER_TARGET
|
||||
struct hvf_sw_breakpoint {
|
||||
vaddr pc;
|
||||
vaddr saved_insn;
|
||||
int use_count;
|
||||
QTAILQ_ENTRY(hvf_sw_breakpoint) entry;
|
||||
};
|
||||
|
||||
struct hvf_sw_breakpoint *hvf_find_sw_breakpoint(CPUState *cpu,
|
||||
vaddr pc);
|
||||
int hvf_sw_breakpoints_active(CPUState *cpu);
|
||||
|
||||
int hvf_arch_insert_sw_breakpoint(CPUState *cpu, struct hvf_sw_breakpoint *bp);
|
||||
int hvf_arch_remove_sw_breakpoint(CPUState *cpu, struct hvf_sw_breakpoint *bp);
|
||||
int hvf_arch_insert_hw_breakpoint(vaddr addr, vaddr len, int type);
|
||||
int hvf_arch_remove_hw_breakpoint(vaddr addr, vaddr len, int type);
|
||||
void hvf_arch_remove_all_hw_breakpoints(void);
|
||||
|
||||
/*
|
||||
* hvf_update_guest_debug:
|
||||
* @cs: CPUState for the CPU to update
|
||||
*
|
||||
* Update guest to enable or disable debugging. Per-arch specifics will be
|
||||
* handled by calling down to hvf_arch_update_guest_debug.
|
||||
*/
|
||||
int hvf_update_guest_debug(CPUState *cpu);
|
||||
void hvf_arch_update_guest_debug(CPUState *cpu);
|
||||
|
||||
/*
|
||||
* Return whether the guest supports debugging.
|
||||
*/
|
||||
bool hvf_arch_supports_guest_debug(void);
|
||||
#endif /* COMPILING_PER_TARGET */
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -12,6 +12,8 @@
|
|||
#define HVF_INT_H
|
||||
|
||||
#include "qemu/queue.h"
|
||||
#include "exec/vaddr.h"
|
||||
#include "qom/object.h"
|
||||
|
||||
#ifdef __aarch64__
|
||||
#include <Hypervisor/Hypervisor.h>
|
||||
|
|
@ -77,4 +79,36 @@ int hvf_put_registers(CPUState *);
|
|||
int hvf_get_registers(CPUState *);
|
||||
void hvf_kick_vcpu_thread(CPUState *cpu);
|
||||
|
||||
struct hvf_sw_breakpoint {
|
||||
vaddr pc;
|
||||
vaddr saved_insn;
|
||||
int use_count;
|
||||
QTAILQ_ENTRY(hvf_sw_breakpoint) entry;
|
||||
};
|
||||
|
||||
struct hvf_sw_breakpoint *hvf_find_sw_breakpoint(CPUState *cpu,
|
||||
vaddr pc);
|
||||
int hvf_sw_breakpoints_active(CPUState *cpu);
|
||||
|
||||
int hvf_arch_insert_sw_breakpoint(CPUState *cpu, struct hvf_sw_breakpoint *bp);
|
||||
int hvf_arch_remove_sw_breakpoint(CPUState *cpu, struct hvf_sw_breakpoint *bp);
|
||||
int hvf_arch_insert_hw_breakpoint(vaddr addr, vaddr len, int type);
|
||||
int hvf_arch_remove_hw_breakpoint(vaddr addr, vaddr len, int type);
|
||||
void hvf_arch_remove_all_hw_breakpoints(void);
|
||||
|
||||
/*
|
||||
* hvf_update_guest_debug:
|
||||
* @cs: CPUState for the CPU to update
|
||||
*
|
||||
* Update guest to enable or disable debugging. Per-arch specifics will be
|
||||
* handled by calling down to hvf_arch_update_guest_debug.
|
||||
*/
|
||||
int hvf_update_guest_debug(CPUState *cpu);
|
||||
void hvf_arch_update_guest_debug(CPUState *cpu);
|
||||
|
||||
/*
|
||||
* Return whether the guest supports debugging.
|
||||
*/
|
||||
bool hvf_arch_supports_guest_debug(void);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue