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

[Xen-changelog] [linux-2.6.18-xen] Imported patch i386-mach-io-check-nmi.patch from xen-unstable.hg 15200:bd3d6b4c52ec



# HG changeset patch
# User Ian Campbell <ian.campbell@xxxxxxxxxxxxx>
# Date 1180947923 -3600
# Node ID aa96379da7411fbe1cdb33e2eef842a0a37348d2
# Parent  18d84fce4960c8eba32b08f7f37ecc831961b48f
Imported patch i386-mach-io-check-nmi.patch from xen-unstable.hg 
15200:bd3d6b4c52ec
---
 arch/i386/kernel/traps.c                   |    9 +--------
 include/asm-i386/mach-default/mach_traps.h |   12 ++++++++++++
 2 files changed, 13 insertions(+), 8 deletions(-)

diff -r 18d84fce4960 -r aa96379da741 arch/i386/kernel/traps.c
--- a/arch/i386/kernel/traps.c  Mon Jun 04 10:05:23 2007 +0100
+++ b/arch/i386/kernel/traps.c  Mon Jun 04 10:05:23 2007 +0100
@@ -642,18 +642,11 @@ static void mem_parity_error(unsigned ch
 
 static void io_check_error(unsigned char reason, struct pt_regs * regs)
 {
-       unsigned long i;
-
        printk(KERN_EMERG "NMI: IOCK error (debug interrupt?)\n");
        show_registers(regs);
 
        /* Re-enable the IOCK line, wait for a few seconds */
-       reason = (reason & 0xf) | 8;
-       outb(reason, 0x61);
-       i = 2000;
-       while (--i) udelay(1000);
-       reason &= ~8;
-       outb(reason, 0x61);
+       clear_io_check_error(reason);
 }
 
 static void unknown_nmi_error(unsigned char reason, struct pt_regs * regs)
diff -r 18d84fce4960 -r aa96379da741 include/asm-i386/mach-default/mach_traps.h
--- a/include/asm-i386/mach-default/mach_traps.h        Mon Jun 04 10:05:23 
2007 +0100
+++ b/include/asm-i386/mach-default/mach_traps.h        Mon Jun 04 10:05:23 
2007 +0100
@@ -12,6 +12,18 @@ static inline void clear_mem_error(unsig
 static inline void clear_mem_error(unsigned char reason)
 {
        reason = (reason & 0xf) | 4;
+       outb(reason, 0x61);
+}
+
+static inline void clear_io_check_error(unsigned char reason)
+{
+       unsigned long i;
+
+       reason = (reason & 0xf) | 8;
+       outb(reason, 0x61);
+       i = 2000;
+       while (--i) udelay(1000);
+       reason &= ~8;
        outb(reason, 0x61);
 }
 

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.