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/onlinedocs/gdb/Packets.html Claudio Imbrenda (2): move vm_start to cpus.c gdbstub: Fix vCont behaviour cpus.c | 61 +++++++++++- gdbstub.c | 226 +++++++++++++++++++++++++++++++++++---------- hw/i386/kvmvapic.c | 2 + include/sysemu/cpus.h | 1 + include/sysemu/sysemu.h | 2 + target-s390x/misc_helper.c | 2 + vl.c | 32 +------ 7 files changed, 249 insertions(+), 77 deletions(-) -- 1.9.1