Hu Tao <[email protected]> writes:
> This event will be emited when the guest is panicked.
>
> Signed-off-by: Wen Congyang <[email protected]>
> Signed-off-by: Hu Tao <[email protected]>
> ---
> QMP/qmp-events.txt | 14 ++++++++++++++
> include/monitor/monitor.h | 1 +
> monitor.c | 1 +
> 3 files changed, 16 insertions(+)
>
> diff --git a/QMP/qmp-events.txt b/QMP/qmp-events.txt
> index b2698e4..62fffad 100644
> --- a/QMP/qmp-events.txt
> +++ b/QMP/qmp-events.txt
> @@ -428,3 +428,17 @@ Example:
>
> Note: If action is "reset", "shutdown", or "pause" the WATCHDOG event is
> followed respectively by the RESET, SHUTDOWN, or STOP events.
> +
> +GUEST_PANICKED
> +--------------
> +
> +Emitted when the guest OS is panicked.
This suggests we reliably emit the event on guest panic. That's not
accurate; we emit it only when the guest manages to tell us. Better
clarify. Perhaps "Emitted when we detect a guest OS panic" suffices.
> +
> +Data:
> +
> +- "action": Action that has been taken. Currently it's always "pause".
Please make that
- "action": Action that has been taken (json-string, currently always "pause")
> +
> +Example:
> +
> +{ "event": "GUEST_PANICKED",
> + "data": { "action": "pause" } }
> diff --git a/include/monitor/monitor.h b/include/monitor/monitor.h
> index 87fb49c..4006905 100644
> --- a/include/monitor/monitor.h
> +++ b/include/monitor/monitor.h
> @@ -45,6 +45,7 @@ typedef enum MonitorEvent {
> QEVENT_WAKEUP,
> QEVENT_BALLOON_CHANGE,
> QEVENT_SPICE_MIGRATE_COMPLETED,
> + QEVENT_GUEST_PANICKED,
>
> /* Add to 'monitor_event_names' array in monitor.c when
> * defining new events here */
> diff --git a/monitor.c b/monitor.c
> index 32a6e74..5b7d7f9 100644
> --- a/monitor.c
> +++ b/monitor.c
> @@ -463,6 +463,7 @@ static const char *monitor_event_names[] = {
> [QEVENT_WAKEUP] = "WAKEUP",
> [QEVENT_BALLOON_CHANGE] = "BALLOON_CHANGE",
> [QEVENT_SPICE_MIGRATE_COMPLETED] = "SPICE_MIGRATE_COMPLETED",
> + [QEVENT_GUEST_PANICKED] = "GUEST_PANICKED",
> };
> QEMU_BUILD_BUG_ON(ARRAY_SIZE(monitor_event_names) != QEVENT_MAX)