aboutsummaryrefslogtreecommitdiff
path: root/hw/apic.c
diff options
context:
space:
mode:
authoraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>2008-04-13 16:08:23 +0000
committeraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>2008-04-13 16:08:23 +0000
commite2eb9d3e9192800e0526e88c186cecda4529d307 (patch)
treedfc854614f14428020644c0471df525cc43bc846 /hw/apic.c
parent474ea8494ae389fce546fdf3459e2a1c2ff22ac7 (diff)
x86: Raise inter-processor NMI and SMI
(Jan Kiszka) git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4206 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'hw/apic.c')
-rw-r--r--hw/apic.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/hw/apic.c b/hw/apic.c
index 25f6f53a96..a6964e0a65 100644
--- a/hw/apic.c
+++ b/hw/apic.c
@@ -216,8 +216,14 @@ static void apic_bus_deliver(const uint32_t *deliver_bitmask,
break;
case APIC_DM_SMI:
+ foreach_apic(apic_iter, deliver_bitmask,
+ cpu_interrupt(apic_iter->cpu_env, CPU_INTERRUPT_SMI) );
+ return;
+
case APIC_DM_NMI:
- break;
+ foreach_apic(apic_iter, deliver_bitmask,
+ cpu_interrupt(apic_iter->cpu_env, CPU_INTERRUPT_NMI) );
+ return;
case APIC_DM_INIT:
/* normal INIT IPI sent to processors */