Support for a new watchdog action inject-nmi

This patch provides support for a new watchdog action "inject-nmi" which
allows to define an inject of a non-maskable interrupt into a guest.

Signed-off-by: Boris Fiuczynski <fiuczy@linux.vnet.ibm.com>
Reviewed-by: Daniel Hansel <daniel.hansel@linux.vnet.ibm.com>
Reviewed-by: Stefan Zimmermann <stzi@linux.vnet.ibm.com>
Reviewed-by: Tony Krowiak <akrowiak@linux.vnet.ibm.com>
This commit is contained in:
Boris Fiuczynski 2015-06-24 11:28:41 +02:00 committed by Ján Tomko
parent 1b695be173
commit 1238dc29af
7 changed files with 11 additions and 3 deletions

View File

@ -5737,6 +5737,9 @@ qemu-kvm -net nic,model=? /dev/null
<li>'none' &mdash; do nothing</li>
<li>'dump' &mdash; automatically dump the guest
<span class="since">Since 0.8.7</span></li>
<li>'inject-nmi' &mdash; inject a non-maskable interrupt
into the guest
<span class="since">Since 1.3.0</span></li>
</ul>
<p>
Note 1: the 'shutdown' action requires that the guest

View File

@ -3272,6 +3272,7 @@
<value>pause</value>
<value>none</value>
<value>dump</value>
<value>inject-nmi</value>
</choice>
</attribute>
</optional>

View File

@ -2842,6 +2842,7 @@ typedef enum {
VIR_DOMAIN_EVENT_WATCHDOG_POWEROFF, /* Guest is forcibly powered off */
VIR_DOMAIN_EVENT_WATCHDOG_SHUTDOWN, /* Guest is requested to gracefully shutdown */
VIR_DOMAIN_EVENT_WATCHDOG_DEBUG, /* No action, a debug message logged */
VIR_DOMAIN_EVENT_WATCHDOG_INJECTNMI,/* Inject a non-maskable interrupt into guest */
# ifdef VIR_ENUM_SENTINELS
VIR_DOMAIN_EVENT_WATCHDOG_LAST

View File

@ -506,7 +506,8 @@ VIR_ENUM_IMPL(virDomainWatchdogAction, VIR_DOMAIN_WATCHDOG_ACTION_LAST,
"poweroff",
"pause",
"dump",
"none")
"none",
"inject-nmi")
VIR_ENUM_IMPL(virDomainVideo, VIR_DOMAIN_VIDEO_TYPE_LAST,
"vga",

View File

@ -1315,6 +1315,7 @@ typedef enum {
VIR_DOMAIN_WATCHDOG_ACTION_PAUSE,
VIR_DOMAIN_WATCHDOG_ACTION_DUMP,
VIR_DOMAIN_WATCHDOG_ACTION_NONE,
VIR_DOMAIN_WATCHDOG_ACTION_INJECTNMI,
VIR_DOMAIN_WATCHDOG_ACTION_LAST
} virDomainWatchdogAction;

View File

@ -555,7 +555,7 @@ static void qemuMonitorJSONHandleRTCChange(qemuMonitorPtr mon, virJSONValuePtr d
VIR_ENUM_DECL(qemuMonitorWatchdogAction)
VIR_ENUM_IMPL(qemuMonitorWatchdogAction, VIR_DOMAIN_EVENT_WATCHDOG_LAST,
"none", "pause", "reset", "poweroff", "shutdown", "debug");
"none", "pause", "reset", "poweroff", "shutdown", "debug", "inject-nmi");
static void qemuMonitorJSONHandleWatchdog(qemuMonitorPtr mon, virJSONValuePtr data)
{

View File

@ -11703,7 +11703,8 @@ VIR_ENUM_IMPL(vshDomainEventWatchdog,
N_("reset"),
N_("poweroff"),
N_("shutdown"),
N_("debug"))
N_("debug"),
N_("inject-nmi"))
static const char *
vshDomainEventWatchdogToString(int action)