Messages in this thread Patch in this message | | | From | Andi Kleen <> | Subject | Re: Early boot hang on recent 2.6 kernels (> 2.6.3), on x86-64 with 16gb of RAM | Date | Tue, 19 Sep 2006 08:39:51 +0200 |
| |
On Tuesday 19 September 2006 08:28, Robin Lee Powell wrote: > On Tue, Sep 19, 2006 at 08:04:14AM +0200, Andi Kleen wrote: > > > > > Done; it's at > > > http://teddyb.org/~rlpowell/media/regular/lkml/hacked-boot.txt > > > > > > Note that I had to us "mce=off acpi=off pci=conf1" to get any of > > > that hack's output to show up at all; I wasn't clear whether you > > > intended that or not. > > > > Unfortunately with mce=off we can't see which device breaks. Can > > you please boot with the patch and just > > > > acpi=off pci=conf1 ? > > > > and send the full output? > > The result is a reboot in the middle of bringing up CPU#1. No > output from the patch is printed. > > I've printed it below anyways.
What happens when you additionally add this patch and boot with the same options again?
-Andi
diff -u linux-2.6.17-hack/include/asm-x86_64/pci-direct.h-o linux-2.6.17-hack/include/asm-x86_64/pci-direct.h --- linux-2.6.17-hack/include/asm-x86_64/pci-direct.h-o 2006-03-03 08:14:00.000000000 +0100 +++ linux-2.6.17-hack/include/asm-x86_64/pci-direct.h 2006-09-19 08:38:25.000000000 +0200 @@ -7,33 +7,32 @@ /* Direct PCI access. This is used for PCI accesses in early boot before the PCI subsystem works. */ -#define PDprintk(x...) +#define PDprintk(x...) printk(x) static inline u32 read_pci_config(u8 bus, u8 slot, u8 func, u8 offset) { u32 v; + PDprintk("%x reading 4 from %x: %x\n", slot, offset, v); outl(0x80000000 | (bus<<16) | (slot<<11) | (func<<8) | offset, 0xcf8); v = inl(0xcfc); - if (v != 0xffffffff) - PDprintk("%x reading 4 from %x: %x\n", slot, offset, v); return v; } static inline u8 read_pci_config_byte(u8 bus, u8 slot, u8 func, u8 offset) { u8 v; + PDprintk("%x reading 1 from %x: %x\n", slot, offset, v); outl(0x80000000 | (bus<<16) | (slot<<11) | (func<<8) | offset, 0xcf8); v = inb(0xcfc + (offset&3)); - PDprintk("%x reading 1 from %x: %x\n", slot, offset, v); return v; } static inline u16 read_pci_config_16(u8 bus, u8 slot, u8 func, u8 offset) { u16 v; + PDprintk("%x reading 2 from %x: %x\n", slot, offset, v); outl(0x80000000 | (bus<<16) | (slot<<11) | (func<<8) | offset, 0xcf8); v = inw(0xcfc + (offset&2)); - PDprintk("%x reading 2 from %x: %x\n", slot, offset, v); return v; } - 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/
| |