@@ -1195,26 +1195,33 @@ static void qemu_system_reset(void)
cpu_synchronize_all_post_reset();
}
-void qemu_system_reset_request(void)
+static void qemu_system_request(int *requested)
+{
+ *requested = 1;
+ qemu_notify_event();
+}
+
+static void qemu_system_request_reboot_check(int *requested)
{
if (no_reboot) {
- shutdown_requested = 1;
- } else {
- reset_requested = 1;
+ requested = &shutdown_requested;
}
- qemu_notify_event();
+ qemu_system_request(requested);
+}
+
+void qemu_system_reset_request(void)
+{
+ qemu_system_request_reboot_check(&reset_requested);
}
void qemu_system_shutdown_request(void)
{
- shutdown_requested = 1;
- qemu_notify_event();
+ qemu_system_request(&shutdown_requested);
}
void qemu_system_powerdown_request(void)
{
- powerdown_requested = 1;
- qemu_notify_event();
+ qemu_system_request(&powerdown_requested);
}
void main_loop_wait(int nonblocking)
don't repeat same logic in qemu_system_xxx_request() logic. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> --- vl.c | 25 ++++++++++++++++--------- 1 files changed, 16 insertions(+), 9 deletions(-)