[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] Factor re-enabling the IOCK line out of io_check_error()
# HG changeset patch # User Ian.Campbell@xxxxxxxxxxxxx # Node ID 8bcfcfc13e21d1a771e9b19daa31f1683996411e # Parent c886f74b54a4123ff762f3ca65c7f86fd1339777 Factor re-enabling the IOCK line out of io_check_error() and into a machine specific function to. Signed-off-by: Ian Campbell <Ian.Campbell@xxxxxxxxxxxxx> diff -r c886f74b54a4 -r 8bcfcfc13e21 linux-2.6-xen-sparse/arch/xen/i386/kernel/traps.c --- a/linux-2.6-xen-sparse/arch/xen/i386/kernel/traps.c Wed Jan 11 12:02:54 2006 +++ b/linux-2.6-xen-sparse/arch/xen/i386/kernel/traps.c Wed Jan 11 15:51:18 2006 @@ -506,18 +506,11 @@ static void io_check_error(unsigned char reason, struct pt_regs * regs) { - unsigned long i; - printk("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 c886f74b54a4 -r 8bcfcfc13e21 patches/linux-2.6.12/i386-mach-io-check-nmi.patch --- /dev/null Wed Jan 11 12:02:54 2006 +++ b/patches/linux-2.6.12/i386-mach-io-check-nmi.patch Wed Jan 11 15:51:18 2006 @@ -0,0 +1,43 @@ +--- ref-linux-2.6.12/arch/i386/kernel/traps.c 2005-12-19 09:23:44.000000000 +0000 ++++ linux-2.6.12-xen0/arch/i386/kernel/traps.c 2006-01-05 15:51:52.000000000 +0000 +@@ -521,18 +521,11 @@ + + static void io_check_error(unsigned char reason, struct pt_regs * regs) + { +- unsigned long i; +- + printk("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) +--- ref-linux-2.6.12/include/asm-i386/mach-default/mach_traps.h 2005-06-17 20:48:29.000000000 +0100 ++++ linux-2.6.12-xen0/include/asm-i386/mach-default/mach_traps.h 2006-01-05 15:52:33.000000000 +0000 +@@ -15,6 +15,18 @@ + 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); ++} ++ + static inline unsigned char get_nmi_reason(void) + { + return inb(0x61); _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |