Messages in this thread | | | Date | Wed, 30 Mar 2011 10:58:05 -0700 | From | Yinghai Lu <> | Subject | Re: another pagetable initialization crash on xen |
| |
On 03/30/2011 09:59 AM, Stefano Stabellini wrote: > On Wed, 30 Mar 2011, Stefano Stabellini wrote: >> I have another unrelated question: init_memory_mapping is called on the >> range 0 - max_low_pfn, but that range usually includes a reserved region >> below the first MB. On one machine of mine the IOAPIC mmio region falls >> in that memory range therefore we are mapping the IOAPIC mmio region in >> init_memory_mapping without going through the fixmap as we should. >> This is causing problems on Xen, but I guess it could theoretically >> cause problems on other platforms as well. Should we avoid reserved >> memory regions below the first MB from the initial memory mappings? > > Sorry I mixed up frame numbers with physical addresses, so the IOAPIC > mmio region is actually at 0xfec00000 where it should be but it gets > mapped during the initial memory mapping (range 0 - 0x100000000). > Is that supposed to happen? Shouldn't it go through the fixmap?
io apic addr is going through fixmap.
initial_memory_mapping will map to [0, max_mem_under_4g). max_mem_under_4g is from E820 table searching.
later it will map [4g, max_mem_above_4g).
We do not map mmio gap between [max_mem_under_4g,4g)
Thanks
Yinghai
| |