d7482ffe97
Below is the updated version of the patch adding debugging support to WHPX. It incorporates feedback from Alex Bennée and Peter Maydell regarding not changing the emulation logic depending on the gdb connection status. Instead of checking for an active gdb connection to determine whether QEMU should intercept the INT1 exceptions, it now checks whether any breakpoints have been set, or whether gdb has explicitly requested one or more CPUs to do single-stepping. Having none of these condition present now has the same effect as not using gdb at all. Message-Id: <0e7f01d82e9e$00e9c360$02bd4a20$@sysprogs.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
34 lines
986 B
C
34 lines
986 B
C
/*
|
|
* Accelerator CPUS Interface
|
|
*
|
|
* Copyright 2020 SUSE LLC
|
|
*
|
|
* This work is licensed under the terms of the GNU GPL, version 2 or later.
|
|
* See the COPYING file in the top-level directory.
|
|
*/
|
|
|
|
#ifndef WHPX_CPUS_H
|
|
#define WHPX_CPUS_H
|
|
|
|
#include "sysemu/cpus.h"
|
|
|
|
int whpx_init_vcpu(CPUState *cpu);
|
|
int whpx_vcpu_exec(CPUState *cpu);
|
|
void whpx_destroy_vcpu(CPUState *cpu);
|
|
void whpx_vcpu_kick(CPUState *cpu);
|
|
|
|
void whpx_cpu_synchronize_state(CPUState *cpu);
|
|
void whpx_cpu_synchronize_post_reset(CPUState *cpu);
|
|
void whpx_cpu_synchronize_post_init(CPUState *cpu);
|
|
void whpx_cpu_synchronize_pre_loadvm(CPUState *cpu);
|
|
void whpx_cpu_synchronize_pre_resume(bool step_pending);
|
|
|
|
/* state subset only touched by the VCPU itself during runtime */
|
|
#define WHPX_SET_RUNTIME_STATE 1
|
|
/* state subset modified during VCPU reset */
|
|
#define WHPX_SET_RESET_STATE 2
|
|
/* full state set, modified during initialization or on vmload */
|
|
#define WHPX_SET_FULL_STATE 3
|
|
|
|
#endif /* WHPX_CPUS_H */
|