Message ID | 1476100224-19760-2-git-send-email-imbrenda@linux.vnet.ibm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 10/10/2016 01:50 PM, Claudio Imbrenda wrote: > Commit e0eeb4a21a3ca4b296220ce4449d8acef9de9049 introduced a bug that > causes single-step in the gdbstub to not work, at least in kvm. CPUs > that are supposed to single-step will instead run normally. > > This small patch fixes the problem. (tested on s390x) > > Signed-off-by: Claudio Imbrenda <imbrenda@linux.vnet.ibm.com> > --- > kvm-all.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/kvm-all.c b/kvm-all.c > index efb5fe3..46b8dcd 100644 > --- a/kvm-all.c > +++ b/kvm-all.c > @@ -2237,6 +2237,7 @@ int kvm_update_guest_debug(CPUState *cpu, unsigned long reinject_trap) > data.dbg.control |= KVM_GUESTDBG_ENABLE | KVM_GUESTDBG_SINGLESTEP; > } > kvm_arch_update_guest_debug(cpu, &data.dbg); > + data.cpu = cpu; > > run_on_cpu(cpu, kvm_invoke_set_guest_debug, &data); > return data.err; > Adding Alex and Paolo to cc.
On 10/10/2016 14:51, Christian Borntraeger wrote: > On 10/10/2016 01:50 PM, Claudio Imbrenda wrote: >> Commit e0eeb4a21a3ca4b296220ce4449d8acef9de9049 introduced a bug that >> causes single-step in the gdbstub to not work, at least in kvm. CPUs >> that are supposed to single-step will instead run normally. >> >> This small patch fixes the problem. (tested on s390x) >> >> Signed-off-by: Claudio Imbrenda <imbrenda@linux.vnet.ibm.com> >> --- >> kvm-all.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/kvm-all.c b/kvm-all.c >> index efb5fe3..46b8dcd 100644 >> --- a/kvm-all.c >> +++ b/kvm-all.c >> @@ -2237,6 +2237,7 @@ int kvm_update_guest_debug(CPUState *cpu, unsigned long reinject_trap) >> data.dbg.control |= KVM_GUESTDBG_ENABLE | KVM_GUESTDBG_SINGLESTEP; >> } >> kvm_arch_update_guest_debug(cpu, &data.dbg); >> + data.cpu = cpu; >> >> run_on_cpu(cpu, kvm_invoke_set_guest_debug, &data); >> return data.err; >> > > Adding Alex and Paolo to cc. The patch works but it also makes sense to use the new CPUState* argument of kvm_invoke_set_guest_debug. This way the kvm_set_guest_debug_data struct doesn't need the "cpu" field anymore. Paolo
diff --git a/kvm-all.c b/kvm-all.c index efb5fe3..46b8dcd 100644 --- a/kvm-all.c +++ b/kvm-all.c @@ -2237,6 +2237,7 @@ int kvm_update_guest_debug(CPUState *cpu, unsigned long reinject_trap) data.dbg.control |= KVM_GUESTDBG_ENABLE | KVM_GUESTDBG_SINGLESTEP; } kvm_arch_update_guest_debug(cpu, &data.dbg); + data.cpu = cpu; run_on_cpu(cpu, kvm_invoke_set_guest_debug, &data); return data.err;
Commit e0eeb4a21a3ca4b296220ce4449d8acef9de9049 introduced a bug that causes single-step in the gdbstub to not work, at least in kvm. CPUs that are supposed to single-step will instead run normally. This small patch fixes the problem. (tested on s390x) Signed-off-by: Claudio Imbrenda <imbrenda@linux.vnet.ibm.com> --- kvm-all.c | 1 + 1 file changed, 1 insertion(+)