ia64/xen-unstable

changeset 3335:a3b623535680

bitkeeper revision 1.1159.170.69 (41d2bdb6hidiL3KNy73HpTZ89WedqQ)

Fix NMI handler.
author kaf24@scramble.cl.cam.ac.uk
date Wed Dec 29 14:22:46 2004 +0000 (2004-12-29)
parents 60e5912b6b28
children b2fa96909734 4b44501cd54c
files xen/arch/x86/nmi.c xen/arch/x86/x86_32/entry.S
line diff
     1.1 --- a/xen/arch/x86/nmi.c	Wed Dec 29 13:43:52 2004 +0000
     1.2 +++ b/xen/arch/x86/nmi.c	Wed Dec 29 14:22:46 2004 +0000
     1.3 @@ -99,7 +99,7 @@ int __init check_nmi_watchdog (void)
     1.4      for ( j = 0; j < smp_num_cpus; j++ ) 
     1.5      {
     1.6          cpu = cpu_logical_map(j);
     1.7 -        prev_nmi_count[cpu] = irq_stat[cpu].__nmi_count;
     1.8 +        prev_nmi_count[cpu] = nmi_count(cpu);
     1.9      }
    1.10      __sti();
    1.11      mdelay((10*1000)/nmi_hz); /* wait 10 ticks */
     2.1 --- a/xen/arch/x86/x86_32/entry.S	Wed Dec 29 13:43:52 2004 +0000
     2.2 +++ b/xen/arch/x86/x86_32/entry.S	Wed Dec 29 14:22:46 2004 +0000
     2.3 @@ -495,16 +495,10 @@ ENTRY(nmi)
     2.4          movb  XREGS_cs(%esp),%al
     2.5          testl $(3|X86_EFLAGS_VM),%eax
     2.6          jnz   do_watchdog_tick
     2.7 -        movl  XREGS_ds(%esp),%eax
     2.8 +        movl  %ds,%eax
     2.9          cmpw  $(__HYPERVISOR_DS),%ax
    2.10          jne   restore_all_xen
    2.11 -        movl  XREGS_es(%esp),%eax
    2.12 -        cmpw  $(__HYPERVISOR_DS),%ax
    2.13 -        jne   restore_all_xen
    2.14 -        movl  XREGS_fs(%esp),%eax
    2.15 -        cmpw  $(__HYPERVISOR_DS),%ax
    2.16 -        jne   restore_all_xen
    2.17 -        movl  XREGS_gs(%esp),%eax
    2.18 +        movl  %es,%eax
    2.19          cmpw  $(__HYPERVISOR_DS),%ax
    2.20          jne   restore_all_xen
    2.21