lkml.org 
[lkml]   [2006]   [Sep]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
SubjectRe: Early boot hang on recent 2.6 kernels (> 2.6.3), on x86-64 with 16gb of RAM
Date
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/
\
 
 \ /
  Last update: 2006-09-19 08:43    [W:0.057 / U:3.700 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site