mirror of https://github.com/xemu-project/xemu.git
kvm: Switch kvm_update_guest_debug to run_on_cpu
Guest debugging under KVM is currently broken once io-threads are enabled. Easily fixable by switching the fake on_vcpu to the real run_on_cpu implementation. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Avi Kivity <avi@redhat.com>
This commit is contained in:
parent
4972d59211
commit
be41cbe036
12
kvm-all.c
12
kvm-all.c
|
@ -1033,16 +1033,6 @@ void kvm_setup_guest_memory(void *start, size_t size)
|
|||
}
|
||||
|
||||
#ifdef KVM_CAP_SET_GUEST_DEBUG
|
||||
static void on_vcpu(CPUState *env, void (*func)(void *data), void *data)
|
||||
{
|
||||
#ifdef CONFIG_IOTHREAD
|
||||
if (env != cpu_single_env) {
|
||||
abort();
|
||||
}
|
||||
#endif
|
||||
func(data);
|
||||
}
|
||||
|
||||
struct kvm_sw_breakpoint *kvm_find_sw_breakpoint(CPUState *env,
|
||||
target_ulong pc)
|
||||
{
|
||||
|
@ -1086,7 +1076,7 @@ int kvm_update_guest_debug(CPUState *env, unsigned long reinject_trap)
|
|||
kvm_arch_update_guest_debug(env, &data.dbg);
|
||||
data.env = env;
|
||||
|
||||
on_vcpu(env, kvm_invoke_set_guest_debug, &data);
|
||||
run_on_cpu(env, kvm_invoke_set_guest_debug, &data);
|
||||
return data.err;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue