mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-22 04:25:18 +00:00
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:
parent
1b695be173
commit
1238dc29af
@ -5737,6 +5737,9 @@ qemu-kvm -net nic,model=? /dev/null
|
|||||||
<li>'none' — do nothing</li>
|
<li>'none' — do nothing</li>
|
||||||
<li>'dump' — automatically dump the guest
|
<li>'dump' — automatically dump the guest
|
||||||
<span class="since">Since 0.8.7</span></li>
|
<span class="since">Since 0.8.7</span></li>
|
||||||
|
<li>'inject-nmi' — inject a non-maskable interrupt
|
||||||
|
into the guest
|
||||||
|
<span class="since">Since 1.3.0</span></li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>
|
<p>
|
||||||
Note 1: the 'shutdown' action requires that the guest
|
Note 1: the 'shutdown' action requires that the guest
|
||||||
|
@ -3272,6 +3272,7 @@
|
|||||||
<value>pause</value>
|
<value>pause</value>
|
||||||
<value>none</value>
|
<value>none</value>
|
||||||
<value>dump</value>
|
<value>dump</value>
|
||||||
|
<value>inject-nmi</value>
|
||||||
</choice>
|
</choice>
|
||||||
</attribute>
|
</attribute>
|
||||||
</optional>
|
</optional>
|
||||||
|
@ -2842,6 +2842,7 @@ typedef enum {
|
|||||||
VIR_DOMAIN_EVENT_WATCHDOG_POWEROFF, /* Guest is forcibly powered off */
|
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_SHUTDOWN, /* Guest is requested to gracefully shutdown */
|
||||||
VIR_DOMAIN_EVENT_WATCHDOG_DEBUG, /* No action, a debug message logged */
|
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
|
# ifdef VIR_ENUM_SENTINELS
|
||||||
VIR_DOMAIN_EVENT_WATCHDOG_LAST
|
VIR_DOMAIN_EVENT_WATCHDOG_LAST
|
||||||
|
@ -506,7 +506,8 @@ VIR_ENUM_IMPL(virDomainWatchdogAction, VIR_DOMAIN_WATCHDOG_ACTION_LAST,
|
|||||||
"poweroff",
|
"poweroff",
|
||||||
"pause",
|
"pause",
|
||||||
"dump",
|
"dump",
|
||||||
"none")
|
"none",
|
||||||
|
"inject-nmi")
|
||||||
|
|
||||||
VIR_ENUM_IMPL(virDomainVideo, VIR_DOMAIN_VIDEO_TYPE_LAST,
|
VIR_ENUM_IMPL(virDomainVideo, VIR_DOMAIN_VIDEO_TYPE_LAST,
|
||||||
"vga",
|
"vga",
|
||||||
|
@ -1315,6 +1315,7 @@ typedef enum {
|
|||||||
VIR_DOMAIN_WATCHDOG_ACTION_PAUSE,
|
VIR_DOMAIN_WATCHDOG_ACTION_PAUSE,
|
||||||
VIR_DOMAIN_WATCHDOG_ACTION_DUMP,
|
VIR_DOMAIN_WATCHDOG_ACTION_DUMP,
|
||||||
VIR_DOMAIN_WATCHDOG_ACTION_NONE,
|
VIR_DOMAIN_WATCHDOG_ACTION_NONE,
|
||||||
|
VIR_DOMAIN_WATCHDOG_ACTION_INJECTNMI,
|
||||||
|
|
||||||
VIR_DOMAIN_WATCHDOG_ACTION_LAST
|
VIR_DOMAIN_WATCHDOG_ACTION_LAST
|
||||||
} virDomainWatchdogAction;
|
} virDomainWatchdogAction;
|
||||||
|
@ -555,7 +555,7 @@ static void qemuMonitorJSONHandleRTCChange(qemuMonitorPtr mon, virJSONValuePtr d
|
|||||||
|
|
||||||
VIR_ENUM_DECL(qemuMonitorWatchdogAction)
|
VIR_ENUM_DECL(qemuMonitorWatchdogAction)
|
||||||
VIR_ENUM_IMPL(qemuMonitorWatchdogAction, VIR_DOMAIN_EVENT_WATCHDOG_LAST,
|
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)
|
static void qemuMonitorJSONHandleWatchdog(qemuMonitorPtr mon, virJSONValuePtr data)
|
||||||
{
|
{
|
||||||
|
@ -11703,7 +11703,8 @@ VIR_ENUM_IMPL(vshDomainEventWatchdog,
|
|||||||
N_("reset"),
|
N_("reset"),
|
||||||
N_("poweroff"),
|
N_("poweroff"),
|
||||||
N_("shutdown"),
|
N_("shutdown"),
|
||||||
N_("debug"))
|
N_("debug"),
|
||||||
|
N_("inject-nmi"))
|
||||||
|
|
||||||
static const char *
|
static const char *
|
||||||
vshDomainEventWatchdogToString(int action)
|
vshDomainEventWatchdogToString(int action)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user