提交 1238dc29 编写于 作者: B Boris Fiuczynski 提交者: Ján Tomko

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: NBoris Fiuczynski <fiuczy@linux.vnet.ibm.com>
Reviewed-by: NDaniel Hansel <daniel.hansel@linux.vnet.ibm.com>
Reviewed-by: NStefan Zimmermann <stzi@linux.vnet.ibm.com>
Reviewed-by: NTony Krowiak <akrowiak@linux.vnet.ibm.com>
上级 1b695be1
...@@ -5737,6 +5737,9 @@ qemu-kvm -net nic,model=? /dev/null ...@@ -5737,6 +5737,9 @@ qemu-kvm -net nic,model=? /dev/null
<li>'none' &mdash; do nothing</li> <li>'none' &mdash; do nothing</li>
<li>'dump' &mdash; automatically dump the guest <li>'dump' &mdash; 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' &mdash; 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 @@ ...@@ -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 { ...@@ -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, ...@@ -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 { ...@@ -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 ...@@ -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, ...@@ -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)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册