kernel-ark/include/asm-x86
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
..
mach-bigsmp
mach-default
mach-es7000
mach-generic x86: add generic GPIO support to x86 2008-01-30 13:33:35 +01:00
mach-numaq x86: move NUMAQ io handling into arch/x86/pci/numa.c 2008-02-04 16:48:03 +01:00
mach-rdc321x x86: add support for the RDC R-321x SoC 2008-01-30 13:33:36 +01:00
mach-summit
mach-visws
mach-voyager time: delete comments that refer to noexistent symbols 2008-02-03 16:20:13 +02:00
xen
a.out-core.h aout: suppress A.OUT library support if !CONFIG_ARCH_SUPPORTS_AOUT 2008-02-08 09:22:30 -08:00
a.out.h aout: move STACK_TOP[_MAX] to asm/processor.h 2008-02-08 09:22:29 -08:00
acpi.h x86: fix sparse warnings in acpi/bus.c 2008-02-09 23:24:08 +01:00
agp.h x86: remove flush_agp_mappings() 2008-01-30 13:34:07 +01:00
alternative-asm.h
alternative.h
apic.h
apicdef.h
arch_hooks.h
asm.h x86: add _ASM_EXTABLE macro to <asm/asm.h> 2008-02-04 16:47:56 +01:00
atomic_32.h
atomic_64.h
atomic.h
auxvec.h
bitops_32.h
bitops_64.h iommu sg: kill __clear_bit_string and find_next_zero_string 2008-02-05 09:44:11 -08:00
bitops.h
boot.h
bootparam.h
bug.h
bugs.h x86: add include to cpu/intel.c 2008-02-04 16:48:04 +01:00
byteorder.h
cache.h
cacheflush.h x86: include proper prototypes for rodata_test 2008-02-14 23:30:20 +01:00
calgary.h
calling.h
checksum_32.h
checksum_64.h
checksum.h
cmpxchg_32.h
cmpxchg_64.h Add cmpxchg64 and cmpxchg64_local to x86_64 2008-02-07 08:42:31 -08:00
cmpxchg.h
compat.h asm-*/compat.h: fix typo in comment 2008-02-03 16:32:51 +02:00
cpu.h x86: avoid section mismatch involving arch_register_cpu 2008-02-01 17:49:43 +01:00
cpufeature.h x86: add feature macros for the gbpages cpuid bit 2008-02-04 16:48:09 +01:00
cputime.h
current_32.h
current_64.h
current.h
debugreg.h
delay.h Fix __const_udelay declaration and definition mismatches 2008-02-06 10:41:06 -08:00
desc_64.h
desc_defs.h
desc.h
device.h
div64.h
dma-mapping_32.h
dma-mapping_64.h
dma-mapping.h
dma.h
dmi.h x86 32-bit boot: rename bt_ioremap() to early_ioremap() 2008-01-30 13:33:44 +01:00
ds.h
dwarf2_32.h
dwarf2_64.h
dwarf2.h
e820_32.h x86_32: trim memory by updating e820 2008-01-30 13:33:32 +01:00
e820_64.h x86_64: make bootmap_start page align v6 2008-02-01 17:49:41 +01:00
e820.h x86: fix the missing BIOS area check in page_is_ram 2008-01-30 13:34:06 +01:00
edac.h
efi.h x86: fix EFI mapping 2008-02-04 16:48:06 +01:00
elf.h Cleanup asm/{elf,page,user}.h: #ifdef __KERNEL__ is no longer needed 2008-02-07 08:42:30 -08:00
emergency-restart.h
errno.h
fb.h
fcntl.h
fixmap_32.h x86: early boot debugging via FireWire (ohci1394_dma=early) 2008-01-30 13:34:11 +01:00
fixmap_64.h x86: early boot debugging via FireWire (ohci1394_dma=early) 2008-01-30 13:34:11 +01:00
fixmap.h
floppy.h
frame.h
futex.h x86: use _ASM_EXTABLE macro in include/asm-x86/futex.h 2008-02-04 16:47:58 +01:00
gart.h
genapic_32.h
genapic_64.h
genapic.h
geode.h x86: GEODE: MFGPT: Use "just-in-time" detection for the MFGPT timers 2008-02-09 23:24:08 +01:00
gpio.h x86: add generic GPIO support to x86 2008-01-30 13:33:35 +01:00
hardirq_32.h
hardirq_64.h
hardirq.h
highmem.h i386: Resolve dependency of asm-i386/pgtable.h on highmem.h 2008-02-05 09:44:14 -08:00
hpet.h x86, rtc: make CONFIG_HPET_EMULATE_RTC usable from modules 2008-01-30 13:33:28 +01:00
hw_irq_32.h x86: remove final FASTCALL() uses 2008-02-04 16:48:03 +01:00
hw_irq_64.h
hw_irq.h
hypertransport.h
i387.h x86: use _ASM_EXTABLE macro in include/asm-x86/i387.h 2008-02-04 16:47:58 +01:00
i8253.h
i8259.h
ia32_unistd.h
ia32.h
ide.h
idle.h
intel_arch_perfmon.h
io_32.h x86: remove special NUMAQ support in io_32.h 2008-02-04 16:48:03 +01:00
io_64.h x86: make ioremap() UC by default 2008-01-30 13:34:09 +01:00
io_apic.h
io.h
ioctl.h
ioctls.h
iommu.h
ipcbuf.h
ipi.h
irq_32.h
irq_64.h
irq_regs_32.h
irq_regs_64.h
irq_regs.h
irq.h
irqflags.h
ist.h
k8.h
Kbuild Unexport asm/user.h and linux/user.h 2008-02-07 08:42:29 -08:00
kdebug.h x86: make dump_pagetable() static 2008-02-14 23:30:19 +01:00
kexec.h
kmap_types.h
kprobes.h
kvm_host.h KVM: x86 emulator: Only allow VMCALL/VMMCALL trapped by #UD 2008-01-30 18:01:21 +02:00
kvm_para.h KVM: Per-architecture hypercall definitions 2008-01-30 17:52:55 +02:00
kvm_x86_emulate.h KVM: Move arch dependent files to new directory arch/x86/kvm/ 2008-01-30 18:01:18 +02:00
kvm.h KVM: Portability: Move kvm_fpu to asm-x86/kvm.h 2008-01-30 18:01:22 +02:00
ldt.h
lguest_hcall.h
lguest.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus 2008-01-31 09:35:32 +11:00
linkage.h
local.h
mach_apic.h
math_emu.h
mc146818rtc.h
mca_dma.h
mca.h
mce.h
mman.h
mmu_context_32.h
mmu_context_64.h
mmu_context.h
mmu.h
mmx.h
mmzone_32.h Introduce flags for reserve_bootmem() 2008-02-07 08:42:25 -08:00
mmzone_64.h x86: change size of node ids from u8 to s16 2008-01-30 13:33:25 +01:00
mmzone.h
module.h
mpspec_def.h
mpspec.h
msgbuf.h
msidef.h
msr-index.h
msr.h x86: use _ASM_EXTABLE macro in include/asm-x86/msr.h 2008-02-04 16:47:58 +01:00
mtrr.h
mutex_32.h
mutex_64.h
mutex.h
namei.h
nmi_32.h
nmi_64.h
nmi.h
nops.h
numa_32.h x86: arch/x86/mm/init_32.c cleanup 2008-01-30 13:34:10 +01:00
numa_64.h x86: change size of node ids from u8 to s16 2008-01-30 13:33:25 +01:00
numa.h
numaq.h
page_32.h x86: construct 32-bit boot time page tables in native format. 2008-02-09 23:24:09 +01:00
page_64.h CONFIG_HIGHPTE vs. sub-page page tables. 2008-02-08 09:22:42 -08:00
page.h x86: rename LARGE_PAGE_SIZE to PMD_PAGE_SIZE 2008-02-04 16:48:08 +01:00
param.h
paravirt.h x86: add mm parameter to paravirt_alloc_pd 2008-01-30 13:33:39 +01:00
parport.h
pci_32.h
pci_64.h
pci-direct.h
pci.h
pda.h
percpu.h
pgalloc_32.h CONFIG_HIGHPTE vs. sub-page page tables. 2008-02-08 09:22:42 -08:00
pgalloc_64.h CONFIG_HIGHPTE vs. sub-page page tables. 2008-02-08 09:22:42 -08:00
pgalloc.h
pgtable_32.h x86: construct 32-bit boot time page tables in native format. 2008-02-09 23:24:09 +01:00
pgtable_64.h x86: zap invalid and unused pmds in early boot 2008-02-18 20:54:14 +01:00
pgtable-2level-defs.h
pgtable-2level.h x86: clean up pte_exec 2008-01-30 13:33:42 +01:00
pgtable-3level-defs.h
pgtable-3level.h x86: update reference for PAE tlb flushing 2008-02-04 16:48:02 +01:00
pgtable.h x86: sparse warnings in pageattr.c 2008-02-09 23:24:08 +01:00
poll.h
posix_types_32.h asm-*/posix_types.h: scrub __GLIBC__ 2008-02-08 09:22:34 -08:00
posix_types_64.h
posix_types.h
prctl.h
processor-cyrix.h
processor-flags.h
processor.h aout: move STACK_TOP[_MAX] to asm/processor.h 2008-02-08 09:22:29 -08:00
proto.h
ptrace-abi.h
ptrace.h
reboot_fixups.h
reboot.h
required-features.h
resource.h
resume-trace.h
rio.h
rtc.h
rwlock.h
rwsem.h
scatterlist.h
seccomp_32.h
seccomp_64.h
seccomp.h
sections.h
segment.h
semaphore_32.h
semaphore_64.h
semaphore.h
sembuf.h
serial.h
setup.h
shmbuf.h
shmparam.h
sigcontext32.h
sigcontext.h x86: fix sigcontext.h user export 2008-02-13 16:20:35 +01:00
siginfo.h
signal.h
smp_32.h
smp_64.h
smp.h
socket.h [NET]: Introducing socket mark socket option. 2008-01-31 19:27:19 -08:00
sockios.h
sparsemem.h
spinlock_types.h
spinlock.h
srat.h
stacktrace.h
stat.h
statfs.h
string_32.h x86: sparse errors from string_32.h 2008-02-04 16:48:01 +01:00
string_64.h
string.h
suspend_32.h
suspend_64.h
suspend.h
swiotlb.h
sync_bitops.h
system_64.h
system.h x86: remove final FASTCALL() uses 2008-02-04 16:48:03 +01:00
tce.h
termbits.h
termios.h tty: fix tty network driver interactions with TCGET/TCSET calls (x86 fix) 2008-02-07 08:42:16 -08:00
therm_throt.h
thread_info_32.h
thread_info_64.h x86: fix duplicated TIF on 64-bit 2008-01-30 23:27:57 +01:00
thread_info.h
time.h
timer.h
timex.h read_current_timer() cleanups 2008-02-06 10:41:02 -08:00
tlb.h
tlbflush.h
topology.h x86: change size of node ids from u8 to s16 2008-01-30 13:33:25 +01:00
tsc.h x86: get_cycles() fix 2008-01-30 13:33:24 +01:00
types.h
uaccess_32.h x86: use _ASM_EXTABLE macro in include/asm-x86/uaccess_32.h 2008-02-04 16:47:59 +01:00
uaccess_64.h x86: use _ASM_EXTABLE macro in include/asm-x86/uaccess_64.h 2008-02-04 16:47:59 +01:00
uaccess.h
ucontext.h
unaligned.h
unistd_32.h timerfd: wire the new timerfd API to the x86 family 2008-02-05 09:44:07 -08:00
unistd_64.h timerfd: wire the new timerfd API to the x86 family 2008-02-05 09:44:07 -08:00
unistd.h
unwind.h
user32.h
user_32.h Sanitize the type of struct user.u_ar0 2008-02-07 08:42:30 -08:00
user_64.h Sanitize the type of struct user.u_ar0 2008-02-07 08:42:30 -08:00
user.h Cleanup asm/{elf,page,user}.h: #ifdef __KERNEL__ is no longer needed 2008-02-07 08:42:30 -08:00
vdso.h
vga.h
vgtod.h
vic.h
vm86.h x86: add function prototype to vm86.h 2008-02-04 16:48:04 +01:00
vmi_time.h
vmi.h
voyager.h
vsyscall.h
xor_32.h
xor_64.h
xor.h