[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC PATCH 3/3 V8] qapi-hmp: Convert HMP nmi to use QMP
From: |
Lai Jiangshan |
Subject: |
[Qemu-devel] [RFC PATCH 3/3 V8] qapi-hmp: Convert HMP nmi to use QMP |
Date: |
Wed, 20 Apr 2011 14:19:42 +0800 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.9) Gecko/20100921 Fedora/3.1.4-1.fc14 Thunderbird/3.1.4 |
Convert the name of HMP nmi to inject-nmi, and use QMP inject-nmi.
The behavier is also changed, it injects NMI to all CPUs of the guest.
When the guest is non-x86, it reports "Unsupported" error.
Signed-off-by: Lai Jiangshan <address@hidden>
---
hmp-commands.hx | 18 ++++++++----------
hmp.c | 12 ++++++++++++
hmp.h | 1 +
monitor.c | 14 --------------
4 files changed, 21 insertions(+), 24 deletions(-)
diff --git a/hmp-commands.hx b/hmp-commands.hx
index c0719eb..70a9dd9 100644
--- a/hmp-commands.hx
+++ b/hmp-commands.hx
@@ -705,19 +705,17 @@ The values that can be specified here depend on the
machine type, but are
the same that can be specified in the @code{-boot} command line option.
ETEXI
-#if defined(TARGET_I386)
{
- .name = "nmi",
- .args_type = "cpu_index:i",
- .params = "cpu",
- .help = "inject an NMI on the given CPU",
- .mhandler.cmd = do_inject_nmi,
+ .name = "inject-nmi",
+ .args_type = "",
+ .params = "",
+ .help = "inject an NMI on the guest",
+ .mhandler.cmd = hmp_inject_nmi,
},
-#endif
STEXI
address@hidden nmi @var{cpu}
address@hidden nmi
-Inject an NMI on the given CPU (x86 only).
address@hidden inject-nmi
address@hidden inject-nmi
+Inject an NMI on the guest (x86 only).
ETEXI
{
diff --git a/hmp.c b/hmp.c
index 758b085..07170fd 100644
--- a/hmp.c
+++ b/hmp.c
@@ -369,6 +369,18 @@ void hmp_closefd(Monitor *mon, const QDict *qdict)
monitor_printf(mon, "closefd: Command Not Supported, use QMP\n");
}
+void hmp_inject_nmi(Monitor *mon, const QDict *qdict)
+{
+ Error *err = NULL;
+
+ qmp_inject_nmi(&err);
+
+ if (err) {
+ monitor_printf(mon, "inject-nmi: %s\n", error_get_pretty(err));
+ error_free(err);
+ }
+}
+
void hmp_info_version(Monitor *mon)
{
VersionInfo *info;
diff --git a/hmp.h b/hmp.h
index d205b3e..3bc1f54 100644
--- a/hmp.h
+++ b/hmp.h
@@ -31,6 +31,7 @@ void hmp_migrate_set_speed(Monitor *mon, const QDict *qdict);
void hmp_migrate_set_downtime(Monitor *mon, const QDict *qdict);
void hmp_getfd(Monitor *mon, const QDict *qdict);
void hmp_closefd(Monitor *mon, const QDict *qdict);
+void hmp_inject_nmi(Monitor *mon, const QDict *qdict);
void hmp_info_version(Monitor *mon);
void hmp_info_status(Monitor *mon);
diff --git a/monitor.c b/monitor.c
index 25a4ab5..925c143 100644
--- a/monitor.c
+++ b/monitor.c
@@ -1768,20 +1768,6 @@ static void do_wav_capture(Monitor *mon, const QDict
*qdict)
}
#endif
-#if defined(TARGET_I386)
-static void do_inject_nmi(Monitor *mon, const QDict *qdict)
-{
- CPUState *env;
- int cpu_index = qdict_get_int(qdict, "cpu_index");
-
- for (env = first_cpu; env != NULL; env = env->next_cpu)
- if (env->cpu_index == cpu_index) {
- cpu_interrupt(env, CPU_INTERRUPT_NMI);
- break;
- }
-}
-#endif
-
static qemu_acl *find_acl(Monitor *mon, const char *name)
{
qemu_acl *acl = qemu_acl_find(name);
--
1.7.4
- Re: [Qemu-devel] [RFC PATCH 0/3 V8] QAPI: add inject-nmi qmp command, (continued)
- Re: [Qemu-devel] [RFC PATCH 0/3 V8] QAPI: add inject-nmi qmp command, Anthony Liguori, 2011/04/26
- Re: [Qemu-devel] [RFC PATCH 0/3 V8] QAPI: add inject-nmi qmp command, Lai Jiangshan, 2011/04/26
- Re: [Qemu-devel] [RFC PATCH 0/3 V8] QAPI: add inject-nmi qmp command, Luiz Capitulino, 2011/04/27
- [Qemu-devel] [PATCH 1/2 V9] qemu, qmp: QError: New QERR_UNSUPPORTED, Lai Jiangshan, 2011/04/27
- [Qemu-devel] [PATCH 0/2 V9] hmp,qmp: add inject-nmi, Lai Jiangshan, 2011/04/27
- Re: [Qemu-devel] [PATCH 0/2 V9] hmp,qmp: add inject-nmi, Luiz Capitulino, 2011/04/29
- [Qemu-devel] [PATCH 2/2 V9] qmp, inject-nmi: convert do_inject_nmi() to QObject, Lai Jiangshan, 2011/04/27
- Re: [Qemu-devel] [RFC PATCH 0/3 V8] QAPI: add inject-nmi qmp command, Michael Roth, 2011/04/25
- [Qemu-devel] [RFC PATCH 1/3 V8] QError: Introduce QERR_UNSUPPORTED, Lai Jiangshan, 2011/04/20
- [Qemu-devel] [RFC PATCH 2/3 V8] qapi, nmi: add inject-nmi qmp command, Lai Jiangshan, 2011/04/20
- [Qemu-devel] [RFC PATCH 3/3 V8] qapi-hmp: Convert HMP nmi to use QMP,
Lai Jiangshan <=