linux/include/asm-x86_64
Andi Kleen ac71d12c99 [PATCH] x86_64: Avoid EBDA area in early boot allocator
Based on analysis&patch from Robert Hentosch

Observed on a Dell PE6850 with 16GB

The problem occurs very early on, when the kernel allocates space for the
temporary memory map called bootmap. The bootmap overlaps the EBDA region.
EBDA region is not historically reserved in the e820 mapping. When the
bootmap is freed it marks the EBDA region as usable.

If you notice in setup.c there is already code to work around the EBDA
in reserve_ebda_region(), this check however occurs after the bootmap
is allocated and doesn't prevent the bootmap from using this range.

AK: I redid the original patch. Thanks also to Jan Beulich for
spotting some mistakes.

Cc: Robert_Hentosch@dell.com
Cc: jbeulich@novell.com
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-05-08 09:34:56 -07:00
..
8253pit.h
a.out.h
acpi.h Revert "[PATCH] x86_64: Only do the clustered systems have unsynchronized TSC assumption on IBM systems" 2006-02-27 20:41:56 -08:00
agp.h
apic.h [PATCH] x86_64: Allow to run main time keeping from the local APIC interrupt 2006-02-04 16:43:13 -08:00
apicdef.h [PATCH] x86_64: timer interrupt lockup due to pending interrupt 2006-03-25 09:10:57 -08:00
atomic.h [PATCH] atomic: add_unless cmpxchg optimise 2006-03-23 07:38:17 -08:00
auxvec.h
bitops.h [PATCH] bitops: x86_64: use generic bitops 2006-03-26 08:57:14 -08:00
boot.h
bootsetup.h
bug.h
bugs.h
byteorder.h
cache.h [PATCH] x86_64: bring back __read_mostly support to linux-2.6.17-rc2 2006-04-20 07:58:11 -07:00
cacheflush.h
calling.h
checksum.h
compat.h
cpu.h
cpufeature.h [PATCH] i386/x86-64: Fix x87 information leak between processes 2006-04-20 07:58:11 -07:00
cputime.h
current.h
debugreg.h
delay.h
desc.h
div64.h
dma-mapping.h
dma.h
dmi.h [PATCH] x86_64: Implement early DMI scanning 2006-03-25 09:10:55 -08:00
dwarf2.h
e820.h [PATCH] x86_64: Avoid EBDA area in early boot allocator 2006-05-08 09:34:56 -07:00
edac.h
elf.h [PATCH] x86_64: Increase the variability of the process stack on 64bit architectures 2006-03-25 09:10:52 -08:00
emergency-restart.h
errno.h
fcntl.h
fixmap.h
floppy.h [PATCH] x86_64: Don't invoke OOM killer while allocating floppy DMA buffers 2006-03-25 09:10:55 -08:00
fpu32.h
futex.h [PATCH] lightweight robust futexes updates 2006-03-27 08:44:49 -08:00
gart-mapping.h
genapic.h
hardirq.h [PATCH] i386/x86-64: Don't ack the APIC for bad interrupts when the APIC is not enabled 2006-02-04 16:43:15 -08:00
hpet.h [PATCH] x86_64: Fix drift with HPET timer enabled 2006-04-09 11:53:53 -07:00
hw_irq.h
i387.h [PATCH] i386/x86-64: Fix x87 information leak between processes 2006-04-20 07:58:11 -07:00
ia32.h
ia32_unistd.h [PATCH] x86_64: Eliminate IA32_NR_syscalls define 2006-04-09 11:53:53 -07:00
ide.h
idle.h
io.h [PATCH] x86_64: inline function prefix with __always_inline in vsyscall 2006-04-11 06:38:57 -07:00
io_apic.h [PATCH] x86_64: avoid IRQ0 ioapic pin collision 2006-05-08 09:34:56 -07:00
ioctl.h
ioctls.h
ipcbuf.h
ipi.h
irq.h
kdebug.h [PATCH] Notifier chain update: API changes 2006-03-27 08:44:50 -08:00
kexec.h [PATCH] Compilation of kexec/kdump broken 2006-02-03 08:32:09 -08:00
kmap_types.h
kprobes.h
ldt.h
linkage.h
local.h [PATCH] make local_t signed 2006-03-31 12:18:55 -08:00
mach_apic.h
mc146818rtc.h
mce.h [PATCH] x86_64: Don't run NMI watchdog during machine checks 2006-04-09 11:53:52 -07:00
mman.h [PATCH] add asm-generic/mman.h 2006-02-15 15:32:22 -08:00
mmsegment.h
mmu.h
mmu_context.h [PATCH] x86_64: {set,clear,test}_bit() related cleanup and pci_mmcfg_init() fix 2006-03-24 07:33:15 -08:00
mmx.h
mmzone.h [PATCH] x86_64: Increase NUMA hash function nodemap 2006-04-18 10:39:19 -07:00
module.h
mpspec.h
msgbuf.h
msi.h
msr.h
mtrr.h
mutex.h
namei.h
nmi.h
node.h
numa.h [PATCH] Configurable NODES_SHIFT 2006-04-11 06:18:39 -07:00
page.h [PATCH] unify pfn_to_page: x86_64 pfn_to_page 2006-03-27 08:44:44 -08:00
param.h
parport.h
pci-direct.h
pci.h [PATCH] x86_64: no_iommu removal in pci-gart.c 2006-02-26 09:53:29 -08:00
pda.h [PATCH] x86_64: Reorder one field of the PDA to reduce padding 2006-03-25 09:10:56 -08:00
percpu.h [PATCH] for_each_possible_cpu: x86_64 2006-04-19 09:13:49 -07:00
pgalloc.h [PATCH] x86_64: actively synchronize vmalloc area when registering certain callbacks 2006-03-25 09:10:53 -08:00
pgtable.h [PATCH] x86_64: actively synchronize vmalloc area when registering certain callbacks 2006-03-25 09:10:53 -08:00
poll.h [PATCH] POLLRDHUP/EPOLLRDHUP handling for half-closed devices notifications 2006-03-25 08:22:56 -08:00
posix_types.h
prctl.h
processor.h [PATCH] arch/i386/kernel/microcode.c: remove the obsolete microcode_ioctl 2006-03-28 09:16:06 -08:00
proto.h [PATCH] x86_64: Removed duplicated declaration of force_iommu 2006-03-25 09:14:39 -08:00
ptrace.h
resource.h
rtc.h
rwlock.h
scatterlist.h
seccomp.h
sections.h
segment.h
semaphore.h
sembuf.h
serial.h
setup.h
shmbuf.h
shmparam.h
sigcontext.h
sigcontext32.h
siginfo.h
signal.h
smp.h [PATCH] sched: new sched domain for representing multi-core 2006-03-27 08:44:43 -08:00
socket.h
sockios.h
sparsemem.h
spinlock.h
spinlock_types.h
stat.h
statfs.h
string.h [PATCH] x86_64: Don't define string functions to builtin 2006-03-25 09:10:53 -08:00
suspend.h [PATCH] x86_64: eliminate set_debug() 2006-03-25 09:10:52 -08:00
swiotlb.h
system.h [PATCH] x86_64: eliminate set_debug() 2006-03-25 09:10:52 -08:00
termbits.h
termios.h
thread_info.h
timex.h [PATCH] x86_64: fix sync before RDTSC on Intel cpus 2006-04-11 06:38:57 -07:00
tlb.h
tlbflush.h
topology.h [PATCH] sched: new sched domain for representing multi-core 2006-03-27 08:44:43 -08:00
types.h
uaccess.h
ucontext.h
unaligned.h
unistd.h [PATCH] Add support for the sys_vmsplice syscall 2006-04-26 10:59:21 +02:00
user.h
user32.h
vga.h
vsyscall.h
vsyscall32.h
xor.h