[coreboot] MPTable can not be high-memory on Linux

Ingo Molnar mingo at elte.hu
Mon Feb 23 07:42:36 CET 2009


* Yinghai Lu <yinghai at kernel.org> wrote:

> Ingo Molnar wrote:
> > * Kevin O'Connor <kevin at koconnor.net> wrote:
> > 
> >> On Sun, Feb 22, 2009 at 01:33:35PM -0800, Yinghai Lu wrote:
> >> [...]
> >>>>>>  BIOS-e820: 0000000000090000 - 0000000000100000 (reserved)
> >>>>>>  BIOS-e820: 0000000000100000 - 000000003f7f0000 (usable)
> >>>>>>  BIOS-e820: 000000003f7f0000 - 0000000040000000 (reserved)
> >> [...]
> >>>>>> found SMP MP-table at [c00f9fc0] 000f9fc0
> >> [...]
> >>> that should work for a long time.
> >>>
> >>> 0xf9fc0 < 1M is quite < max_low_pfn, so wonder why bootmem could panic.
> >> On this machine the mptable "floating" structure is at 
> >> 0xf9fc0.  It points to the rest of the table which is in the 
> >> 0x3f7f0000 area.
> >>
> >> Note, that this is on a Coreboot+SeaBIOS machine - so we can 
> >> change the bios.  However, the mptable spec does allow for 
> >> part of the table to be high memory.
> > 
> > yes, and i'd prefer if it worked fine even if it's that high.
> > 
> 
> please check
> 
> [PATCH] x86: check physptr with max_low_pfn on 32bit

Applied to tip:x86/apic, thanks Yinghai!

This will show up in v2.6.30. I suspect Coreboot will be changed 
anyway (older Linux kernels may crash), but it's worth having 
this bug fixed nevertheless.

	Ingo




More information about the coreboot mailing list