softmmu: pass the main loop status to gdb "Wxx" packet
gdb_exit function aims to close gdb sessions and sends the exit code of the current execution. It's being called by qemu_cleanup once the main loop is over. Until now, the exit code sent was always 0. Now that hardware can shutdown this main loop with custom exit codes, these codes must be transfered to gdb as well. Signed-off-by: Clément Chigot <chigot@adacore.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Message-ID: <20231003071427.188697-3-chigot@adacore.com> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
This commit is contained in:
parent
0386f39b46
commit
66bbe3e9b4
@ -101,7 +101,7 @@ bool defaults_enabled(void);
|
|||||||
|
|
||||||
void qemu_init(int argc, char **argv);
|
void qemu_init(int argc, char **argv);
|
||||||
int qemu_main_loop(void);
|
int qemu_main_loop(void);
|
||||||
void qemu_cleanup(void);
|
void qemu_cleanup(int);
|
||||||
|
|
||||||
extern QemuOptsList qemu_legacy_drive_opts;
|
extern QemuOptsList qemu_legacy_drive_opts;
|
||||||
extern QemuOptsList qemu_common_drive_opts;
|
extern QemuOptsList qemu_common_drive_opts;
|
||||||
|
@ -35,7 +35,7 @@ int qemu_default_main(void)
|
|||||||
int status;
|
int status;
|
||||||
|
|
||||||
status = qemu_main_loop();
|
status = qemu_main_loop();
|
||||||
qemu_cleanup();
|
qemu_cleanup(status);
|
||||||
|
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
@ -834,9 +834,9 @@ void qemu_init_subsystems(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void qemu_cleanup(void)
|
void qemu_cleanup(int status)
|
||||||
{
|
{
|
||||||
gdb_exit(0);
|
gdb_exit(status);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* cleaning up the migration object cancels any existing migration
|
* cleaning up the migration object cancels any existing migration
|
||||||
|
Loading…
Reference in New Issue
Block a user