How to read past 8Mb boundary in early boot (i386 arch)?

From: Martin J. Bligh (Martin.Bligh@us.ibm.com)
Date: Mon Oct 22 2001 - 16:38:22 EST


At boot time, we seem map the first 8Mb by hand ... unfortunately
my hardware puts the MPS tables at 511Mb. Reading this crashes
us hard & fast ;-)

My current "fix" for this problem involves patching the firmware
to put the MPS tables at 7Mb instead, which worked fine, but it's
difficult to release patches for the firmware. I'm thinking it might be
easier to hack Linux.

What I guess is needed is to read the pointer to the MPS tables,
if pointer > 8Mb (well, plus the length of the table or an allowance)
then copy it to 7Mb with some phys_memcopy routine. But it seems
this means handcrafting a page table entry ... in which case, it might
be easier to temporarily create a page table for the area pointed to,
read it as normal, then tear it down again afterwards?

Any pointers much appreciated. Speak slowly, handcrafting page
tables is mildly confusing (to me ;-)).

Thanks,

Martin.

-
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/



This archive was generated by hypermail 2b29 : Tue Oct 23 2001 - 21:00:33 EST