1
linux/arch/ia64/kernel
Petr Tesarik 76d71ebddf [IA64] Merge overlapping reserved regions at boot
While working on the upcoming SLES11 SP2, I ran into an issue with booting the
panic kernel on a kernel crash. In the first iteration I found out that the
initial register backing store gets overwritten with zeroes, causing a kernel
crash shortly afterwards.

Further investigation revealed that rsvd_region[] contains overlapping
entries: find_memmap_space() returns a pointer which lies between KERNEL_START
and _end. This is correct with the EFI memmap as patched by the kexec
purgatory code. That code removes vmlinux LOAD segments from the usable map,
but there is a pretty large hole between the gate section and the per-cpu
section.

This happens because reserve_memory() blindly marks [KERNEL_START, __end]
as reserved, even though there is a free block in the middle in the kexec
case because it noticed a large gap between sections and modified the
efi_memory_map to account for this.

Signed-off-by: Petr Tesarik <ptesarik@suse.cz>
Signed-off-by: Tony Luck <tony.luck@intel.com>
2011-12-09 15:06:42 -08:00
..
cpufreq [CPUFREQ] use dynamic debug instead of custom infrastructure 2011-05-04 11:50:57 -04:00
.gitignore
acpi-ext.c
acpi.c iommu: Rename the DMAR and INTR_REMAP config options 2011-09-21 10:22:03 +02:00
asm-offsets.c
audit.c
brl_emu.c
crash_dump.c crash_dump: export is_kdump_kernel to modules, consolidate elfcorehdr_addr, setup_elfcorehdr and saved_max_pfn 2011-03-23 19:47:19 -07:00
crash.c
cyclone.c ia64: Replace clocksource.fsys_mmio with generic arch data 2011-07-14 17:57:09 -07:00
dma-mapping.c ia64: Add export.h to arch/ia64 specific files as required 2011-10-31 19:30:58 -04:00
efi_stub.S
efi.c efi: Fix argument types for SetVariable() for ia64 2011-08-04 16:03:50 -07:00
elfcore.c
entry.h
entry.S [IA64] Wire up cross memory attach syscalls 2011-11-02 14:00:26 -07:00
err_inject.c
esi_stub.S
esi.c
fsys.S [IA64] Optimize ticket spinlocks in fsys_rt_sigprocmask 2010-09-15 15:35:48 -07:00
fsyscall_gtod_data.h
ftrace.c
gate-data.S
gate.lds.S
gate.S
head.S
ia64_ksyms.c
init_task.c
iosapic.c ia64: iosapic: Use new irq_move_* functions 2011-03-29 14:48:03 +02:00
irq_ia64.c sched: Provide scheduler_ipi() callback in response to smp_send_reschedule() 2011-04-14 08:52:32 +02:00
irq_lsapic.c ia64: Convert lsapic to new irq_chip functions 2011-03-29 14:48:02 +02:00
irq.c ia64: Use generic show_interrupts() 2011-03-29 14:48:05 +02:00
ivt.S
jprobes.S
kprobes.c
machine_kexec.c
machvec.c
Makefile iommu: Rename the DMAR and INTR_REMAP config options 2011-09-21 10:22:03 +02:00
Makefile.gate
mca_asm.S
mca_drv_asm.S
mca_drv.c
mca_drv.h
mca.c ia64: Use accessor functions all over the place 2011-03-29 14:48:03 +02:00
minstate.h
module.c modules: make arch's use default loader hooks 2011-07-24 22:06:04 +09:30
msi_ia64.c iommu: Rename the DMAR and INTR_REMAP config options 2011-09-21 10:22:03 +02:00
nr-irqs.c
numa.c
pal.S
palinfo.c [IA64] Use static const char * const in palinfo.c 2010-09-23 14:22:05 -07:00
paravirt_inst.h
paravirt_patch.c
paravirt_patchlist.c
paravirt_patchlist.h
paravirt.c ia64: add jump labels for paravirt 2011-07-14 12:59:45 +03:00
paravirtentry.S
patch.c
pci-dma.c iommu: Rename the DMAR and INTR_REMAP config options 2011-09-21 10:22:03 +02:00
pci-swiotlb.c
perfmon_default_smpl.c Fix common misspellings 2011-03-31 11:26:23 -03:00
perfmon_generic.h
perfmon_itanium.h
perfmon_mckinley.h
perfmon_montecito.h
perfmon.c [IA64] fix build error - arch/ia64/kernel/perfmon.c 2011-01-13 14:49:56 -08:00
process.c ACPI, intel_idle: Cleanup idle= internal variables 2011-01-12 12:47:30 -05:00
ptrace.c ptrace: change signature of arch_ptrace() 2010-10-27 18:03:10 -07:00
relocate_kernel.S
sal.c
salinfo.c Merge branch 'llseek' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl 2010-10-22 10:52:56 -07:00
setup.c [IA64] Merge overlapping reserved regions at boot 2011-12-09 15:06:42 -08:00
sigframe.h
signal.c
smp.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
smpboot.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
stacktrace.c [IA64] Add CONFIG_STACKTRACE_SUPPORT 2010-09-23 13:52:07 -07:00
sys_ia64.c
time.c ia64: Replace clocksource.fsys_mmio with generic arch data 2011-07-14 17:57:09 -07:00
topology.c ia64: Add export.h to arch/ia64 specific files as required 2011-10-31 19:30:58 -04:00
traps.c
unaligned.c
uncached.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
unwind_decoder.c
unwind_i.h
unwind.c [IA64] unwind - optimise linked-list searches for modules 2010-09-14 13:35:39 -07:00
vmlinux.lds.S [IA64] define "_sdata" symbol 2011-05-20 10:38:53 -07:00