Messages in this thread | | | Date | Tue, 21 Jun 2011 18:57:01 +0100 | From | Stefano Stabellini <> | Subject | Re: [PATCH 1/3] x86: calculate precisely the memory needed by init_memory_mapping |
| |
On Mon, 20 Jun 2011, H. Peter Anvin wrote: > On 06/07/2011 11:13 AM, stefano.stabellini@eu.citrix.com wrote: > > > > - remove the extra page added on x86_32 for the fixmap because is not > > needed: the PMD entry is already allocated and contiguous for the whole > > range (a PMD page covers 4G of virtual addresses) and the pte entry is > > already allocated by early_ioremap_init. > > > > Hi Stefano, > > I think this is wrong. A PMD page covers *1G* of virtual addresses, and > in the 2+2 and 1+3 memory configurations, we may or may not need a > separate PMD for the fixmap. > > Am I missing something?
You are right, a PMD page covers 1G of virtual addresses so that part of the explanation in the comment is wrong.
The reason why we don't need a separate PMD for the fixmap is that in both PAE and non-PAE cases the last gigabyte of virtual addresses is always covered by the initial allocation in head_32.S (swapper_pg_dir or initial_pg_pmd).
| |