Thanks, I hope to send a pull request this week, including this patch. Paolo
On 14/02/2017 18:07, Claudio Imbrenda wrote: > This small patchset fixes the incorrect behaviour of the vCont command > in the gdb stub. > > The first patch, as suggested be Paolo, refactors some code. The most > visible change is that it moves vm_start to cpus.c > > The second one fixes the incorrect behaviour of the vCont command. > Previously, continuing or stepping a single thread (CPU) caused all > other CPUs to be started too, whereas the GDB specification clearly > states that without a default action all threads not explicitly > mentioned in the command should stay stopped. > > So if the Qemu gdbstub receives a vCont;c:1 packet, no other CPU > should be restarted except the first, and when a vCont;s:1 is > received, the first CPU should be stepped without restarting the others. > With this patchset Qemu now behaves as expected. > > See here for reference material about the packets: > https://sourceware.org/gdb/current/onlinedocs/gdb/Packets.html > https://sourceware.org/gdb/onlinedocs/gdb/Packets.html > > v7 -> v8 > * fixed and added some comments > * fixed vCont a little bit for user mode > * use cpu->cpu_index directly when possible > > v6 -> v7 > * fixed description of patch 1 to reflect what is actually happening > and improved description of patch 2 > * removed leftover header declaration of resume_some_vcpus which had > been removed a few versions ago > * fixed a compilation issue when compiling userspace-mode only > (global variable max_cpus is not defined when not in system-mode) > > v4 -> v6 > * rebased on master after target-s390x was moved > * put qemu_clock_enable back into resume_all_vcpus > * improved the parsing function of the vCont packet > * added qemu_clock_enable to gdb_continue_partial > > v3 -> v4 > * rebased on v2.8.0-rc2, no changes needed > > v2 -> v3 > * removed resume_some_vcpus > * cleared up the code and simplified the implementation in light of the > clarification in the specification of the vCont packet > > Claudio Imbrenda (2): > move vm_start to cpus.c > gdbstub: Fix vCont behaviour > > cpus.c | 42 ++++++++++ > gdbstub.c | 209 > +++++++++++++++++++++++++++++++++++++----------- > include/sysemu/sysemu.h | 2 + > vl.c | 30 +------ > 4 files changed, 207 insertions(+), 76 deletions(-) >