android_kernel_xiaomi_sm8350/include/asm-ia64
Simon Horman 6672f76a5a kdump/kexec: calculate note size at compile time
Currently the size of the per-cpu region reserved to save crash notes is
set by the per-architecture value MAX_NOTE_BYTES.  Which in turn is
currently set to 1024 on all supported architectures.

While testing ia64 I recently discovered that this value is in fact too
small.  The particular setup I was using actually needs 1172 bytes.  This
lead to very tedious failure mode where the tail of one elf note would
overwrite the head of another if they ended up being alocated sequentially
by kmalloc, which was often the case.

It seems to me that a far better approach is to caclculate the size that
the area needs to be.  This patch does just that.

If a simpler stop-gap patch for ia64 to be squeezed into 2.6.21(.X) is
needed then this should be as easy as making MAX_NOTE_BYTES larger in
arch/asm-ia64/kexec.h.  Perhaps 2048 would be a good choice.  However, I
think that the approach in this patch is a much more robust idea.

Acked-by:  Vivek Goyal <vgoyal@in.ibm.com>
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-08 11:15:07 -07:00
..
sn [IA64] SGI Altix : fix pcibr_dmamap_ate32() bug 2007-04-06 15:38:12 -07:00
a.out.h
acpi-ext.h
acpi.h ACPICA: Allow ACPI id to be u32 instead of u8. 2007-02-02 21:14:31 -05:00
agp.h
asmmacro.h [IA64] remove per-cpu ia64_phys_stacked_size_p8 2007-02-06 15:04:18 -08:00
atomic.h
auxvec.h
bitops.h
break.h [IA64] enable trap code on slot 1 2006-12-12 12:00:55 -08:00
bug.h
bugs.h
byteorder.h
cache.h
cacheflush.h [PATCH] Optimize D-cache alias handling on fork 2006-12-13 09:27:08 -08:00
checksum.h [PATCH] fix prototype of csum_ipv6_magic() (ia64) 2007-01-23 11:09:49 -08:00
compat.h
cpu.h
cputime.h
current.h
cyclone.h
delay.h
device.h ACPI: Change ACPI to use dev_archdata instead of firmware_data 2006-12-01 14:52:01 -08:00
div64.h
dma-mapping.h [PATCH] ia64: fix noncoherent DMA API so devres builds 2007-02-14 08:09:51 -08:00
dma.h [IA64] swiotlb bug fixes 2007-02-05 18:46:40 -08:00
dmi.h
elf.h
emergency-restart.h
errno.h
esi.h [IA64] remove bogus prototype ia64_esi_init() 2007-02-05 14:14:29 -08:00
fcntl.h
fpswa.h
fpu.h
futex.h [PATCH] mm: pagefault_{disable,enable}() 2006-12-07 08:39:21 -08:00
gcc_intrin.h
hardirq.h
hw_irq.h
ia32.h
ia64regs.h
ide.h
intel_intrin.h
intrinsics.h
io.h [IA64] make ioremap avoid unsupported attributes 2007-03-30 09:37:41 -07:00
ioctl.h
ioctls.h
iosapic.h
ipcbuf.h
irq_regs.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
irq.h
Kbuild [PATCH] cleanup asm/setup.h userspace visibility 2006-12-07 08:39:46 -08:00
kdebug.h move die notifier handling to common code 2007-05-08 11:15:04 -07:00
kexec.h kdump/kexec: calculate note size at compile time 2007-05-08 11:15:07 -07:00
kmap_types.h
kprobes.h [IA64] enable trap code on slot 1 2006-12-12 12:00:55 -08:00
kregs.h [IA64] relax per-cpu TLB requirement to DTC 2007-02-06 15:04:48 -08:00
libata-portmap.h ATA convert GSI to irq on ia64 2007-02-15 18:04:53 -05:00
linkage.h
local.h
machvec_dig.h
machvec_hpsim.h
machvec_hpzx1_swiotlb.h
machvec_hpzx1.h
machvec_init.h
machvec_sn2.h [IA64] IA64 Kexec/kdump 2006-12-07 09:51:35 -08:00
machvec.h [PATCH] ia64: platform_kernel_launch_event is noop on generic kernel 2007-03-18 11:35:07 -07:00
mc146818rtc.h
mca_asm.h
mca.h [IA64] kexec: declare ia64_mca_pal_base in mca.h rather than kexec.h 2007-03-08 10:18:24 -08:00
meminit.h [IA64] min_low_pfn and max_low_pfn calculation fix 2007-03-20 13:41:57 -07:00
mman.h
mmu_context.h [PATCH] x86: PARAVIRT: add hooks to intercept mm creation and destruction 2007-05-02 19:27:14 +02:00
mmu.h
mmzone.h
module.h
msgbuf.h
mutex.h
namei.h
nodedata.h
numa.h
page.h [IA64] Fix DISCONTIGMEM without VIRTUAL_MEM_MAP 2006-12-07 11:24:03 -08:00
pal.h Pull error-inject into release branch 2007-04-30 13:55:43 -07:00
param.h
parport.h
patch.h [IA64] remove per-cpu ia64_phys_stacked_size_p8 2007-02-06 15:04:18 -08:00
pci.h [IA64] pci_get_legacy_ide_irq should return irq (not GSI) 2007-03-08 10:04:44 -08:00
percpu.h
perfmon_default_smpl.h
perfmon.h
pgalloc.h [IA64] virt_to_page() can be called with NULL arg 2007-02-05 16:47:02 -08:00
pgtable.h
poll.h
posix_types.h [PATCH] FD_ZERO build fix 2007-01-11 18:18:22 -08:00
processor.h Pull percpu-dtc into release branch 2007-04-30 13:56:00 -07:00
ptrace_offsets.h
ptrace.h
resource.h [IA64] Remove stack hard limit on ia64 2007-03-06 14:48:19 -08:00
rse.h
rwsem.h
sal.h [IA64] whitespace fixes for include/asm-ia64/sal.h 2007-03-08 09:58:13 -08:00
scatterlist.h PCI: scatterlist.h needs types.h 2007-05-02 19:02:34 -07:00
sections.h [IA64] remove per-cpu ia64_phys_stacked_size_p8 2007-02-06 15:04:18 -08:00
segment.h
semaphore.h
sembuf.h
serial.h
setup.h [PATCH] ia64: 2048-byte command line 2007-02-12 09:48:39 -08:00
shmbuf.h
shmparam.h
sigcontext.h
siginfo.h
signal.h
smp.h
socket.h [NET]: Adding SO_TIMESTAMPNS / SCM_TIMESTAMPNS support 2007-04-25 22:24:21 -07:00
sockios.h [NET]: Introduce SIOCGSTAMPNS ioctl to get timestamps with nanosec resolution 2007-04-25 22:24:04 -07:00
sparsemem.h
spinlock_types.h
spinlock.h
stat.h
statfs.h
string.h
suspend.h
system.h
termbits.h [PATCH] tty: preparatory structures for termios revamp 2006-12-08 08:28:56 -08:00
termios.h [PATCH] consolidate line discipline number definitions 2007-02-11 10:51:26 -08:00
thread_info.h [IA64] enable singlestep on system call 2007-02-05 13:49:29 -08:00
timex.h
tlb.h
tlbflush.h
topology.h [PATCH] sched: remove SMT nice 2007-03-05 07:57:51 -08:00
types.h
uaccess.h [IA64] don't double >> PAGE_SHIFT pointer for /dev/kmem access 2006-10-26 14:57:06 -07:00
ucontext.h
unaligned.h
uncached.h
unistd.h [IA64] Hook up getcpu system call for IA64 2007-02-05 16:56:36 -08:00
unwind.h [IA64] Remove sparse warning from unwind code 2007-03-08 10:28:48 -08:00
user.h
ustack.h
vga.h
xor.h