2.4.21 + 64K pagesize == BOOM

From: Luck, Tony <tony.luck_at_intel.com>
Date: 2003-09-04 04:25:40
Someone here tried to build a 2.4.21 kernel with 64k
page size, but found that the system reset during boot.

Some tracking showed that the problem was an MCA when
the kernel jumped to 0xf000eef3000c0100.  Further tracking
showed that the jump came from probe_hwif().  Here's some
disassembled code (showing just the "br.call" before and
after the fatal jump for context):

e0000000046fb93c: (p03) br.call.dpnt.many b0=e0000000046fde00 <probe_cmos_for_drives>;;
e0000000046fb96c:       br.call.sptk.many b0=e0000000046fb580 <hwif_check_regions>;;
e0000000046fba7c:       br.call.sptk.many b0=e000000004476ba0 <printk>;;
e0000000046fbabc: (p17) br.call.dpnt.many b0=e00000000440dc20 <disable_irq>;;
e0000000046fbbdc:       br.call.sptk.many b0=e0000000044b5480 <kmalloc>;;
e0000000046fbc1c:       br.call.sptk.many b0=e000000004476ba0 <printk>
e0000000046fbc8c:       br.call.sptk.many b0=e0000000046fb720 <hwif_register>
e0000000046fbd3c: (p17) br.call.dpnt.many b0=e00000000440de00 <enable_irq>;;

e0000000046fbe10:       ld8 r19=[r40];;  // get 0x0 into r19
e0000000046fbe16:       ld8 r18=[r19],8  // get 0xf000eef3000c0100 into r18
e0000000046fbe1c:       nop.i 0x0;;
e0000000046fbe20:       ld8 r1=[r19]
e0000000046fbe26:       mov b7=r18
e0000000046fbe2c:       br.call.sptk.many b0=b7;; // JUMP TO 0xf000eef3000c0100 BOOM!

e0000000046fbe5c:       br.call.sptk.many b0=b7;;
e0000000046fbe8c:       br.call.sptk.many b0=b7;;
e0000000046fbedc:       br.call.sptk.many b0=e000000004476ba0 <printk>;;
e0000000046fbf0c:       br.call.sptk.many b0=b7;;
e0000000046fbfec:       br.call.sptk.many b0=b7;;
e0000000046fc01c:       br.call.sptk.many b0=e00000000470f1e0 <ide_delay_50ms>;;

I'm not sure why the dereference 0x0 didn't fault.

Building with CONFIG_BLK_DEV_IDE=n avoids this problem.

Anyone know what's going on here?


To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Wed Sep 3 14:36:35 2003

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:17 EST