Re: MPTable can not be high-memory on Linux

From: Andi Kleen
Date: Sun Feb 22 2009 - 12:55:28 EST


Kevin O'Connor <kevin@xxxxxxxxxxxx> writes:
>
> It looks like the problem is that the MPTable is located in the last
> 64K of memory (instead of the first few megabytes). There is a
> comment about this in arch/x86/kernel/mpparse.c:
>
> /*
> * We cannot access to MPC table to compute
> * table size yet, as only few megabytes from
> * the bottom is mapped now.
> * PC-9800's MPC table places on the very last
> * of physical memory; so that simply reserving
> * PAGE_SIZE from mpg->mpf_physptr yields BUG()
> * in reserve_bootmem.
> */
>
> However, that comment is in an #ifdef specific to 32bit kernels.
> (Though, it's not clear to me how that code would help as it sets size
> to be a negative number.)
>
> The easiest way to fix this is to change SeaBIOS to copy the whole
> mptable to the first megabyte. Also, we need to fix your SMBIOS so
> that ACPI is used instead of the mptable.

The kernel should just use early_ioremap to access it I guess.

-Andi

--
ak@xxxxxxxxxxxxxxx -- Speaking for myself only.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/