Messages in this thread Patch in this message | | | Subject | Re: [OOPS] repeatable 2.4.8-ac7, 2.4.7-ac6 just run xdos | From | Andi Kleen <> | Date | 22 Aug 2001 13:16:16 +0200 |
| |
Brian Gerst <bgerst@didntduck.org> writes:
> > > > CPU: 0 > > EIP: 0010:[<c0180a18>] > > Using defaults from ksymoops -t elf32-i386 -a i386 > > EFLAGS: 00010002 > > eax: 00001000 ebx: c4562368 ecx: 00000000 edx: 00000001 > > esi: c4562368 edi: c4a954d4 ebp: 00000001 esp: c6887d88 > > ds: 008 es: 0000 ss: 0018 > ^^^^ > Here is your problem. %es is set to the null segment. I had my > suspicions about the segment reload optimisation in the -ac kernels, and > this proves it. Try backing out the changes to arch/i386/kernel/entry.S > and include/asm-i386/hw_irq.h and see if that fixes the problem.
This patch should fix the problem. One assumption coded into the reload optimization is violated by vm86 mode. Please test.
--- linux-2.4.8-ac7-work/include/asm-i386/hw_irq.h-SEG2 Mon Aug 20 02:54:53 2001 +++ linux-2.4.8-ac7-work/include/asm-i386/hw_irq.h Wed Aug 22 13:02:16 2001 @@ -114,8 +114,10 @@ "cmpl %eax,7*4(%esp)\n\t" \ "je 1f\n\t" \ "movl %eax,%ds\n\t" \ + "1: cmpl %eax,8*4(%esp)\n\t" \ + "je 2f\n\t" \ "movl %eax,%es\n\t" \ - "1:\n\t" + "2:\n\t" #define IRQ_NAME2(nr) nr##_interrupt(void) #define IRQ_NAME(nr) IRQ_NAME2(IRQ##nr)
-Andi - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |