linux/arch/x86/mm
Thomas Gleixner 31eedd823c x86: zap invalid and unused pmds in early boot
The early boot code maps KERNEL_TEXT_SIZE (currently 40MB) starting
from __START_KERNEL_map. The kernel itself only needs _text to _end
mapped in the high alias. On relocatible kernels the ASM setup code
adjusts the compile time created high mappings to the relocation. This
creates invalid pmd entries for negative offsets:

0xffffffff80000000 -> pmd entry: ffffffffff2001e3
It points outside of the physical address space and is marked present.

This starts at the virtual address __START_KERNEL_map and goes up to
the point where the first valid physical address (0x0) is mapped.

Zap the mappings before _text and after _end right away in early
boot. This removes also the invalid entries.

Furthermore it simplifies the range check for high aliases.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-02-18 20:54:14 +01:00
..
discontig_32.c Introduce flags for reserve_bootmem() 2008-02-07 08:42:25 -08:00
extable.c x86: unify extable_{32|64}.c 2008-01-30 13:31:41 +01:00
fault.c x86: make dump_pagetable() static 2008-02-14 23:30:19 +01:00
highmem_32.c x86: kmap_atomic() debugging 2008-01-30 13:30:47 +01:00
hugetlbpage.c x86: demacro asm-x86/pgalloc_32.h 2008-01-30 13:33:39 +01:00
init_32.c x86: include proper prototypes for rodata_test 2008-02-14 23:30:20 +01:00
init_64.c x86: zap invalid and unused pmds in early boot 2008-02-18 20:54:14 +01:00
ioremap.c x86/early_ioremap: don't assume we're using swapper_pg_dir 2008-02-13 16:20:35 +01:00
k8topology_64.c x86: add PCI IDs to k8topology_64.c 2008-01-30 13:34:12 +01:00
Makefile x86_64: move mm 2007-10-11 11:17:18 +02:00
Makefile_32 x86: unify fault_32|64.c 2008-01-30 13:34:11 +01:00
Makefile_64 x86: unify fault_32|64.c 2008-01-30 13:34:11 +01:00
mmap.c x86: unify mmap_{32|64}.c 2008-01-30 13:31:10 +01:00
numa_64.c Introduce flags for reserve_bootmem() 2008-02-07 08:42:25 -08:00
pageattr-test.c x86: remove over noisy debug printk 2008-02-11 11:24:24 -08:00
pageattr.c x86: CPA, fix alias checks 2008-02-18 20:54:14 +01:00
pgtable_32.c CONFIG_HIGHPTE vs. sub-page page tables. 2008-02-08 09:22:42 -08:00
srat_64.c Introduce flags for reserve_bootmem() 2008-02-07 08:42:25 -08:00