mptable and redhat 8 and wotta mess.

Eric W. Biederman ebiederman at lnxi.com
Tue Dec 3 01:57:00 CET 2002


"Ronald G. Minnich" <rminnich at lanl.gov> writes:

> If I build linuxbios with gcc 2.96, things get marginally better. But 
> weirder.
> 
> Linux version 2.4.19-lanl.18beoboot (root at butthead) (gcc version 2.96 
> 20000731 (Red Hat Linux 7.3 2.96-112)) #1 Fri Aug 16 15:03:04 MDT 2002 
> BIOS-provided physical RAM map:
>  BIOS-e820: 0000000000000000 - 0000000000000bd0 (reserved)
>  BIOS-e820: 0000000000000bd0 - 00000000000a0000 (usable)
>  BIOS-e820: 00000000000f0000 - 00000000000f0400 (reserved)
>  BIOS-e820: 0000000000100000 - 0000000020000000 (usable)
>  BIOS-e820: 0000000100000000 - 0000000120000000 (usable)
> Warning only 896MB will be used.
> Use a PAE enabled kernel.
> 896MB LOWMEM available.
> hm, page 00000000 reserved twice.
> On node 0 totalpages: 229376
> 
> note that it is still not seeing the MP table. 

It looks like either the of pirq or mptable is working.
> 
> But later on: 
> 
> PCI: Discovered primary peer bus 10 [IRQ]
> PCI: Discovered primary peer bus 11 [IRQ]
> PCI: Discovered primary peer bus 12 [IRQ]
> PCI: Using IRQ router PIIX [8086/2480] at 00:1f.0
> PCI: Found IRQ 11 for device 00:1d.0
> PCI: Sharing IRQ 11 with 07:01.0
> PCI: Found IRQ 5 for device 00:1f.1
> PCI: Found IRQ 3 for device 00:1f.3
> PCI: Found IRQ 7 for device 02:01.0
> 
> So how is it getting this info? I am now getting confused.

Yep that looks very much like a pirq table.  All of the assigned irqs are below 16.

> nevertheless it does get the new kernel fine over the myrinet. The ram map 
> still looks like this:
> 
> BIOS-provided physical RAM map:
>  BIOS-e820: 0000000000000000 - 0000000000000bd0 (reserved)
>  BIOS-e820: 0000000000000bd0 - 00000000000a0000 (usable)
>  BIOS-e820: 00000000000f0000 - 00000000000f0400 (reserved)
>  BIOS-e820: 0000000000100000 - 0000000020000000 (usable)
>  BIOS-e820: 0000000100000000 - 0000000120000000 (usable)
> 
> Note also that the RAM map shows (for this newer linuxbios) a big hole in 
> the ram map. 2.4.19 doesn't seem to be able to handle this, more below:

Cool, you have enabled the debugging option.
It leaves 512MB low, and it puts the rest of the memory about 4GB so it is possible
to test PAE setups.  
 
> Warning only 4GB will be used.
> Use a PAE enabled kernel.
> 3200MB HIGHMEM available.
> 
> OOPS! There's only 1024 MB but the kernel is doing something odd. 

LinuxBIOS actually, it is a feature...

That 3200MB HIGHMEM available definitely sounds off.


> Now the older linuxbios (a version from LNXI that says 1.0.0.6) show this 
> for the ram map:
> 
> BIOS-provided physical RAM map:
>  BIOS-e820: 0000000000000000 - 0000000000000b54 (reserved)
>  BIOS-e820: 0000000000000b54 - 00000000000a0000 (usable)
>  BIOS-e820: 00000000000f0000 - 00000000000f0400 (reserved)
>  BIOS-e820: 0000000000100000 - 0000000040000000 (usable)
> 128MB HIGHMEM available.
> 896MB LOWMEM available.
> 
> And this works. 
> 
> So, that's the state of play: linuxbios is now producing e820 maps that 
> 2.4.19 doesn't seem to be able to handle; 

Hmm.  If you get more than 512MB of RAM it is a 2.4.19 bug, earlier
kernels handle that case just fine.

> something is somehow trashing 
> the MP table (etherboot); and, in general, things on e7500 are not 
> currently working. 

It looks like it is still an mptable problem.  There are a few oddities
but nothing very big.

Next time I swing by and do a build I will see how well it all works
with binutils-2.13 and gcc-3.2  I have recently upgraded I just have
not swung by that direction yet.

You might try installing egcs-2.91.66 aka kgcc on redhat.  That was
what the port was developed with.  Until I had the compressor going
I was having a hard time fitting etherboot and LinuxBIOS in the last
64KB.

Eric




More information about the coreboot mailing list