diff options
author | kaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk> | 2004-12-29 14:22:46 +0000 |
---|---|---|
committer | kaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk> | 2004-12-29 14:22:46 +0000 |
commit | 0fcafc5fdbdb5579accee3e9e12df3297e5db035 (patch) | |
tree | ae894f6129e7c4a5d9f9b84fefe2f700050565e7 | |
parent | 6913eb35433fce5edb62bf8736dc77f3adc47ffa (diff) | |
download | xen-0fcafc5fdbdb5579accee3e9e12df3297e5db035.tar.gz xen-0fcafc5fdbdb5579accee3e9e12df3297e5db035.tar.bz2 xen-0fcafc5fdbdb5579accee3e9e12df3297e5db035.zip |
bitkeeper revision 1.1159.170.69 (41d2bdb6hidiL3KNy73HpTZ89WedqQ)
Fix NMI handler.
-rw-r--r-- | xen/arch/x86/nmi.c | 2 | ||||
-rw-r--r-- | xen/arch/x86/x86_32/entry.S | 10 |
2 files changed, 3 insertions, 9 deletions
diff --git a/xen/arch/x86/nmi.c b/xen/arch/x86/nmi.c index bd8760fade..ed597aec0c 100644 --- a/xen/arch/x86/nmi.c +++ b/xen/arch/x86/nmi.c @@ -99,7 +99,7 @@ int __init check_nmi_watchdog (void) for ( j = 0; j < smp_num_cpus; j++ ) { cpu = cpu_logical_map(j); - prev_nmi_count[cpu] = irq_stat[cpu].__nmi_count; + prev_nmi_count[cpu] = nmi_count(cpu); } __sti(); mdelay((10*1000)/nmi_hz); /* wait 10 ticks */ diff --git a/xen/arch/x86/x86_32/entry.S b/xen/arch/x86/x86_32/entry.S index d3df231fbb..7eb7c9075c 100644 --- a/xen/arch/x86/x86_32/entry.S +++ b/xen/arch/x86/x86_32/entry.S @@ -495,16 +495,10 @@ ENTRY(nmi) movb XREGS_cs(%esp),%al testl $(3|X86_EFLAGS_VM),%eax jnz do_watchdog_tick - movl XREGS_ds(%esp),%eax + movl %ds,%eax cmpw $(__HYPERVISOR_DS),%ax jne restore_all_xen - movl XREGS_es(%esp),%eax - cmpw $(__HYPERVISOR_DS),%ax - jne restore_all_xen - movl XREGS_fs(%esp),%eax - cmpw $(__HYPERVISOR_DS),%ax - jne restore_all_xen - movl XREGS_gs(%esp),%eax + movl %es,%eax cmpw $(__HYPERVISOR_DS),%ax jne restore_all_xen |