aboutsummaryrefslogtreecommitdiff
path: root/system
diff options
context:
space:
mode:
authorClément Chigot <chigot@adacore.com>2023-10-03 09:14:24 +0200
committerAlistair Francis <alistair.francis@wdc.com>2023-10-12 12:33:24 +1000
commit66bbe3e9b46112ec2fe35a7d6e79d8a9bb39d14a (patch)
tree637d60dda5f52db0fb2b118fb086b7858e5e27b5 /system
parent0386f39b46a28da87647075f0fc20da4ba1f6478 (diff)
downloadqemu-66bbe3e9b46112ec2fe35a7d6e79d8a9bb39d14a.zip
qemu-66bbe3e9b46112ec2fe35a7d6e79d8a9bb39d14a.tar.gz
qemu-66bbe3e9b46112ec2fe35a7d6e79d8a9bb39d14a.tar.bz2
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>
Diffstat (limited to 'system')
-rw-r--r--system/main.c2
-rw-r--r--system/runstate.c4
2 files changed, 3 insertions, 3 deletions
diff --git a/system/main.c b/system/main.c
index 694388b..9b91d21 100644
--- a/system/main.c
+++ b/system/main.c
@@ -35,7 +35,7 @@ int qemu_default_main(void)
int status;
status = qemu_main_loop();
- qemu_cleanup();
+ qemu_cleanup(status);
return status;
}
diff --git a/system/runstate.c b/system/runstate.c
index 363a5ea..ea9d6c2 100644
--- a/system/runstate.c
+++ b/system/runstate.c
@@ -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