On Tue, Dec 11, 2012 at 3:57 PM, H. Peter Anvin <h...@zytor.com> wrote: > Well, we could invoke it on the bootloader page tables, but as you say > it may not be a good idea... depending on how much memory we may be > talking about. One solution -- which I have to admit is starting to > sound really good -- is to set up a #PF handler which cycles through a > set of page tables and creates a "virtual identity map"... it does have > the advantage of making the entire physical address space available > without any additional funnies.
so that #PF handler will work before arch/x86/kernel/setup.c::setup_arch/early_trap_init early_strap_intit will install another handler there for #PF for 64bit, moving early_ioremap_init ahead is very simple, like attach patch but for 32 bit looks like it is not that easy.
early_ioremap_head64.patch
Description: Binary data