diff options
author | Yinghai Lu <yhlu.kernel@gmail.com> | 2008-06-01 23:53:50 -0700 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-06-03 13:26:28 +0200 |
commit | 6af61a7614a306fe882a0c2b4ddc63b65aa66efc (patch) | |
tree | a4027323b741d9784b5f3755fe7a276c536932ee /arch/x86/kernel/head_32.S | |
parent | 287572cb38de7f270b59191a0fecfa5c5de7765d (diff) | |
download | op-kernel-dev-6af61a7614a306fe882a0c2b4ddc63b65aa66efc.zip op-kernel-dev-6af61a7614a306fe882a0c2b4ddc63b65aa66efc.tar.gz |
x86: clean up max_pfn_mapped usage - 32-bit
on 32-bit in head_32.S after initial page table is done, we get initial
max_pfn_mapped, and then kernel_physical_mapping_init will give us
a final one.
We need to use that to make sure find_e820_area will get valid addresses
for boot_map and for NODE_DATA(0) on numa32.
XEN PV and lguest may need to assign max_pfn_mapped too.
Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/head_32.S')
-rw-r--r-- | arch/x86/kernel/head_32.S | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S index bef4618..ac7002f 100644 --- a/arch/x86/kernel/head_32.S +++ b/arch/x86/kernel/head_32.S @@ -220,6 +220,8 @@ default_entry: jb 10b 1: movl %edi,pa(init_pg_tables_end) + shrl $12, %eax + movl %eax, pa(max_pfn_mapped) /* Do early initialization of the fixmap area */ movl $pa(swapper_pg_fixmap)+PDE_ATTR,%eax @@ -251,6 +253,8 @@ page_pde_offset = (__PAGE_OFFSET >> 20); cmpl %ebp,%eax jb 10b movl %edi,pa(init_pg_tables_end) + shrl $12, %eax + movl %eax, pa(max_pfn_mapped) /* Do early initialization of the fixmap area */ movl $pa(swapper_pg_fixmap)+PDE_ATTR,%eax |