gdbstub: use a better signal when we halt for IO reasons
The gdb description GDB_SIGNAL_IO is "I/O possible" and by default gdb will try and restart the guest, getting us nowhere. Report GDB_SIGNAL_STOP instead which should at least halt the session at the failure point. Reviewed-by: Luis Machado <luis.machado@arm.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Acked-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20231201093633.2551497-2-alex.bennee@linaro.org>
This commit is contained in:
parent
abf635ddfe
commit
5dcf6334ae
@ -24,6 +24,7 @@ enum {
|
|||||||
GDB_SIGNAL_TRAP = 5,
|
GDB_SIGNAL_TRAP = 5,
|
||||||
GDB_SIGNAL_ABRT = 6,
|
GDB_SIGNAL_ABRT = 6,
|
||||||
GDB_SIGNAL_ALRM = 14,
|
GDB_SIGNAL_ALRM = 14,
|
||||||
|
GDB_SIGNAL_STOP = 17,
|
||||||
GDB_SIGNAL_IO = 23,
|
GDB_SIGNAL_IO = 23,
|
||||||
GDB_SIGNAL_XCPU = 24,
|
GDB_SIGNAL_XCPU = 24,
|
||||||
GDB_SIGNAL_UNKNOWN = 143
|
GDB_SIGNAL_UNKNOWN = 143
|
||||||
|
@ -183,7 +183,7 @@ static void gdb_vm_state_change(void *opaque, bool running, RunState state)
|
|||||||
break;
|
break;
|
||||||
case RUN_STATE_IO_ERROR:
|
case RUN_STATE_IO_ERROR:
|
||||||
trace_gdbstub_hit_io_error();
|
trace_gdbstub_hit_io_error();
|
||||||
ret = GDB_SIGNAL_IO;
|
ret = GDB_SIGNAL_STOP;
|
||||||
break;
|
break;
|
||||||
case RUN_STATE_WATCHDOG:
|
case RUN_STATE_WATCHDOG:
|
||||||
trace_gdbstub_hit_watchdog();
|
trace_gdbstub_hit_watchdog();
|
||||||
|
Loading…
Reference in New Issue
Block a user