qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH qom-cpu 08/59] cpus: Simplify qmp_inject_nmi()


From: Andreas Färber
Subject: [Qemu-devel] [PATCH qom-cpu 08/59] cpus: Simplify qmp_inject_nmi()
Date: Sun, 9 Jun 2013 21:12:35 +0200

Use new qemu_for_each_cpu().

Signed-off-by: Andreas Färber <address@hidden>
---
 cpus.c | 24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/cpus.c b/cpus.c
index 24ee974..1975c5c 100644
--- a/cpus.c
+++ b/cpus.c
@@ -1331,18 +1331,24 @@ exit:
     fclose(f);
 }
 
-void qmp_inject_nmi(Error **errp)
-{
 #if defined(TARGET_I386)
-    CPUArchState *env;
+static void qmp_inject_one_nmi(CPUState *cs, void *data)
+{
+    X86CPU *cpu = X86_CPU(cs);
+    CPUX86State *env = &cpu->env;
 
-    for (env = first_cpu; env != NULL; env = env->next_cpu) {
-        if (!env->apic_state) {
-            cpu_interrupt(CPU(x86_env_get_cpu(env)), CPU_INTERRUPT_NMI);
-        } else {
-            apic_deliver_nmi(env->apic_state);
-        }
+    if (!env->apic_state) {
+        cpu_interrupt(cs, CPU_INTERRUPT_NMI);
+    } else {
+        apic_deliver_nmi(env->apic_state);
     }
+}
+#endif
+
+void qmp_inject_nmi(Error **errp)
+{
+#if defined(TARGET_I386)
+    qemu_for_each_cpu(qmp_inject_one_nmi, NULL);
 #else
     error_set(errp, QERR_UNSUPPORTED);
 #endif
-- 
1.8.1.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]