[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 1/2] Allow silent system resets
From: |
Luiz Capitulino |
Subject: |
Re: [Qemu-devel] [PATCH 1/2] Allow silent system resets |
Date: |
Wed, 15 Jun 2011 11:32:33 -0300 |
On Tue, 14 Jun 2011 18:29:43 +0200
Jan Kiszka <address@hidden> wrote:
> This allows qemu_system_reset to be issued silently for internal
> purposes, ie. without sending out a monitor event. Convert the system
> reset after startup to the silent mode.
>
> Signed-off-by: Jan Kiszka <address@hidden>
Only this patch is monitor related, but I've applied the two in the
monitor branch.
Thanks.
> ---
> sysemu.h | 5 ++++-
> vl.c | 10 ++++++----
> xen-all.c | 2 +-
> 3 files changed, 11 insertions(+), 6 deletions(-)
>
> diff --git a/sysemu.h b/sysemu.h
> index 7e70daa..d3013f5 100644
> --- a/sysemu.h
> +++ b/sysemu.h
> @@ -34,6 +34,9 @@ void qemu_del_vm_change_state_handler(VMChangeStateEntry
> *e);
> #define VMSTOP_LOADVM 7
> #define VMSTOP_MIGRATE 8
>
> +#define VMRESET_SILENT false
> +#define VMRESET_REPORT true
> +
> void vm_start(void);
> void vm_stop(int reason);
>
> @@ -50,7 +53,7 @@ int qemu_powerdown_requested(void);
> void qemu_system_killed(int signal, pid_t pid);
> void qemu_kill_report(void);
> extern qemu_irq qemu_system_powerdown;
> -void qemu_system_reset(void);
> +void qemu_system_reset(bool report);
>
> void qemu_add_exit_notifier(Notifier *notify);
> void qemu_remove_exit_notifier(Notifier *notify);
> diff --git a/vl.c b/vl.c
> index d7f905d..91380d2 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -1249,7 +1249,7 @@ void qemu_unregister_reset(QEMUResetHandler *func, void
> *opaque)
> }
> }
>
> -void qemu_system_reset(void)
> +void qemu_system_reset(bool report)
> {
> QEMUResetEntry *re, *nre;
>
> @@ -1257,7 +1257,9 @@ void qemu_system_reset(void)
> QTAILQ_FOREACH_SAFE(re, &reset_handlers, entry, nre) {
> re->func(re->opaque);
> }
> - monitor_protocol_event(QEVENT_RESET, NULL);
> + if (report) {
> + monitor_protocol_event(QEVENT_RESET, NULL);
> + }
> cpu_synchronize_all_post_reset();
> }
>
> @@ -1399,7 +1401,7 @@ static void main_loop(void)
> if (qemu_reset_requested()) {
> pause_all_vcpus();
> cpu_synchronize_all_states();
> - qemu_system_reset();
> + qemu_system_reset(VMRESET_REPORT);
> resume_all_vcpus();
> }
> if (qemu_powerdown_requested()) {
> @@ -3272,7 +3274,7 @@ int main(int argc, char **argv, char **envp)
> qemu_register_reset(qbus_reset_all_fn, sysbus_get_default());
> qemu_run_machine_init_done_notifiers();
>
> - qemu_system_reset();
> + qemu_system_reset(VMRESET_SILENT);
> if (loadvm) {
> if (load_vmstate(loadvm) < 0) {
> autostart = 0;
> diff --git a/xen-all.c b/xen-all.c
> index 0eac202..41fd98a 100644
> --- a/xen-all.c
> +++ b/xen-all.c
> @@ -452,7 +452,7 @@ static void cpu_handle_ioreq(void *opaque)
> destroy_hvm_domain();
> }
> if (qemu_reset_requested_get()) {
> - qemu_system_reset();
> + qemu_system_reset(VMRESET_REPORT);
> }
> }
>
Re: [Qemu-devel] [PATCH] Reset system before loadvm, Peter Maydell, 2011/06/12
[Qemu-devel] [PATCH 1/2] Allow silent system resets, Jan Kiszka, 2011/06/14
- Re: [Qemu-devel] [PATCH 1/2] Allow silent system resets,
Luiz Capitulino <=
[Qemu-devel] [PATCH v2 2/2] Reset system before loadvm, Jan Kiszka, 2011/06/14