ia64/xen-unstable

view patches/linux-2.6.16-rc2/i386-mach-io-check-nmi.patch @ 8762:1bc2d1fe503c

Fill hypercall_page so that its VA space doesn't get used for code.

Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
author cl349@firebug.cl.cam.ac.uk
date Mon Feb 06 15:26:29 2006 +0000 (2006-02-06)
parents 7cd3d2e41559
children
line source
1 diff -pruN ../pristine-linux-2.6.16-rc1-git4/arch/i386/kernel/traps.c ./arch/i386/kernel/traps.c
2 --- ../pristine-linux-2.6.16-rc1-git4/arch/i386/kernel/traps.c 2006-02-02 17:39:29.000000000 +0000
3 +++ ./arch/i386/kernel/traps.c 2006-02-02 17:43:01.000000000 +0000
4 @@ -564,18 +564,11 @@ static void mem_parity_error(unsigned ch
6 static void io_check_error(unsigned char reason, struct pt_regs * regs)
7 {
8 - unsigned long i;
9 -
10 printk(KERN_EMERG "NMI: IOCK error (debug interrupt?)\n");
11 show_registers(regs);
13 /* Re-enable the IOCK line, wait for a few seconds */
14 - reason = (reason & 0xf) | 8;
15 - outb(reason, 0x61);
16 - i = 2000;
17 - while (--i) udelay(1000);
18 - reason &= ~8;
19 - outb(reason, 0x61);
20 + clear_io_check_error(reason);
21 }
23 static void unknown_nmi_error(unsigned char reason, struct pt_regs * regs)
24 diff -pruN ../pristine-linux-2.6.16-rc1-git4/include/asm-i386/mach-default/mach_traps.h ./include/asm-i386/mach-default/mach_traps.h
25 --- ../pristine-linux-2.6.16-rc1-git4/include/asm-i386/mach-default/mach_traps.h 2006-01-03 03:21:10.000000000 +0000
26 +++ ./include/asm-i386/mach-default/mach_traps.h 2006-02-02 17:41:55.000000000 +0000
27 @@ -15,6 +15,18 @@ static inline void clear_mem_error(unsig
28 outb(reason, 0x61);
29 }
31 +static inline void clear_io_check_error(unsigned char reason)
32 +{
33 + unsigned long i;
34 +
35 + reason = (reason & 0xf) | 8;
36 + outb(reason, 0x61);
37 + i = 2000;
38 + while (--i) udelay(1000);
39 + reason &= ~8;
40 + outb(reason, 0x61);
41 +}
42 +
43 static inline unsigned char get_nmi_reason(void)
44 {
45 return inb(0x61);