kernel-ark/include/asm-arm
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
..
arch-aaec2000 [ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user 2007-02-17 15:04:29 +00:00
arch-at91 [ARM] 4352/1: AT91: Platform data for LCD and AC97. 2007-05-03 14:10:22 +01:00
arch-cl7500 [ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user 2007-02-17 15:04:29 +00:00
arch-clps711x [ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user 2007-02-17 15:04:29 +00:00
arch-ebsa110 [ARM] EBSA110: Add readsw/readsl/writesw/writesl 2007-04-21 20:34:37 +01:00
arch-ebsa285 [ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user 2007-02-17 15:04:29 +00:00
arch-ep93xx [ARM] Merge remaining IOP code 2007-02-20 10:52:43 +00:00
arch-h720x [ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user 2007-02-17 15:04:29 +00:00
arch-imx Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2007-05-06 13:20:10 -07:00
arch-integrator [ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user 2007-02-17 15:04:29 +00:00
arch-iop13xx Merge branches 'arm-mm', 'at91', 'clkevts', 'imx', 'iop', 'misc', 'netx', 'ns9xxx', 'omap', 'pxa', 'rpc', 's3c' and 'sa1100' into devel 2007-05-06 20:57:51 +01:00
arch-iop32x Merge branches 'arm-mm', 'at91', 'clkevts', 'imx', 'iop', 'misc', 'netx', 'ns9xxx', 'omap', 'pxa', 'rpc', 's3c' and 'sa1100' into devel 2007-05-06 20:57:51 +01:00
arch-iop33x Merge branches 'arm-mm', 'at91', 'clkevts', 'imx', 'iop', 'misc', 'netx', 'ns9xxx', 'omap', 'pxa', 'rpc', 's3c' and 'sa1100' into devel 2007-05-06 20:57:51 +01:00
arch-ixp4xx Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2007-05-06 13:20:10 -07:00
arch-ixp23xx [ARM] mm 10: allow memory type to be specified with ioremap 2007-05-05 20:59:27 +01:00
arch-ixp2000 [ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user 2007-02-17 15:04:29 +00:00
arch-l7200 [ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user 2007-02-17 15:04:29 +00:00
arch-lh7a40x [ARM] 4248/1: lh7a40x: fix missing definitions for get_irqnr_preamble 2007-03-08 13:33:57 +00:00
arch-netx [ARM] 4329/1: fix position of NETX_SYSTEM_REG 2007-05-03 20:22:49 +01:00
arch-ns9xxx [ARM] 4301/1: add mach type cc9p9360js 2007-04-21 20:52:30 +01:00
arch-omap [PATCH] gpio_direction_output() needs an initial value 2007-03-16 19:25:04 -07:00
arch-pnx4008 [ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user 2007-02-17 15:04:29 +00:00
arch-pxa Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2007-05-06 13:20:10 -07:00
arch-realview [ARM] Merge remaining IOP code 2007-02-20 10:52:43 +00:00
arch-rpc [ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user 2007-02-17 15:04:29 +00:00
arch-s3c2410 [ARM] 4360/1: S3C24XX: regs-udc.h remove unused macro 2007-05-05 21:09:42 +01:00
arch-sa1100 [PATCH] gpio_direction_output() needs an initial value 2007-03-16 19:25:04 -07:00
arch-shark [ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user 2007-02-17 15:04:29 +00:00
arch-versatile [ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user 2007-02-17 15:04:29 +00:00
hardware [ARM] iop: add missing parens in macro 2007-05-05 11:59:13 +01:00
mach Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2007-05-06 13:20:10 -07:00
plat-s3c24xx [ARM] 4325/1: S3C24XX: remove s3c24xx_board 2007-04-21 20:53:19 +01:00
.gitignore [ARM] 4216/1: add .gitignore entries for ARM specific files 2007-02-17 11:26:41 +00:00
a.out.h
assembler.h
atomic.h [ARM] 4264/1: ldrex/strex syntax errors with recent compilers 2007-03-15 20:39:16 +00:00
auxvec.h
bitops.h
bug.h [ARM] 3983/2: remove unused argument to __bug() 2006-12-07 22:38:09 +00:00
bugs.h
byteorder.h
cache.h
cacheflush.h [ARM] Convert DMA cache handling to take const void * args 2007-02-08 14:49:44 +00:00
checksum.h [ARM] Improve csum_fold, cleanup csum_tcpudp_magic() 2007-02-06 16:46:46 +00:00
cnt32_to_63.h [ARM] 3978/1: macro to provide a 63-bit value from a 32-bit hardware counter 2006-12-07 16:06:45 +00:00
cpu-multi32.h [ARM] Unuse another Linux PTE bit 2006-12-13 14:34:43 +00:00
cpu-single.h [ARM] Unuse another Linux PTE bit 2006-12-13 14:34:43 +00:00
cpu.h
cputime.h
current.h
delay.h
device.h [ARM] Add a reference from struct device to the dma bounce info 2007-02-12 10:28:24 +00:00
div64.h [NET]: div64_64 consolidate (rev3) 2007-04-25 22:23:33 -07:00
dma-mapping.h Merge AT91, EP93xx, General devel, PXA, S3C, V6+ and Xscale trees 2007-02-17 20:09:53 +00:00
dma.h
domain.h [ARM] 4127/1: Flush the prefetch buffer after changing the DACR 2007-02-08 14:49:18 +00:00
dyntick.h
ecard.h [ARM] ecard: Convert card type enum to a flag 2007-05-03 14:16:56 +01:00
elf.h [ARM] 4054/1: ep93xx: add HWCAP_CRUNCH 2006-12-18 00:14:54 +00:00
emergency-restart.h
errno.h
fcntl.h
fiq.h
flat.h [ARM] 4074/1: Flat loader stack alignment 2006-12-30 17:05:08 +00:00
floppy.h
fpstate.h [ARM] 4111/1: Allow VFP to work with thread migration on SMP 2007-01-25 16:35:29 +00:00
futex.h
glue.h
gpio.h [PATCH] GPIO core 2007-02-12 09:48:34 -08:00
hardirq.h
hardware.h
hw_irq.h [PATCH] misc arm pt_regs fixes 2006-10-08 12:32:36 -07:00
ide.h
io.h [ARM] mm 10: allow memory type to be specified with ioremap 2007-05-05 20:59:27 +01:00
ioctl.h
ioctls.h
ipc.h
ipcbuf.h
irq_regs.h Initial blind fixup for arm for irq changes 2006-10-06 10:59:54 -07:00
irq.h [ARM] 4073/1: Prevent s3c24xx drivers from including asm/arch/hardware.h and asm/arch/irqs.h 2006-12-30 17:05:07 +00:00
irqflags.h
Kbuild
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
leds.h
limits.h
linkage.h
local.h
locks.h
mc146818rtc.h
memory.h [ARM] Clean up discontigmem support 2006-11-30 22:52:28 +00: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
mtd-xip.h
mutex.h
namei.h
nwflash.h
page-nommu.h
page.h
param.h
parport.h
pci.h
percpu.h
pgalloc.h
pgtable-hwdef.h
pgtable-nommu.h [ARM] Fix nommu build 2006-11-30 13:53:54 +00:00
pgtable.h [ARM] 4158/1: Fix user page protection macros 2007-02-11 17:06:17 +00:00
poll.h
posix_types.h
proc-fns.h
processor.h [ARM] 4016/1: prefetch macro is wrong wrt gcc's "delete-null-pointer-checks" 2006-12-13 18:30:20 +00:00
procinfo.h [ARM] Move HWCAP_* definitions to asm/elf.h 2006-11-30 12:24:46 +00:00
ptrace.h [ARM] Add comments marking in-use ptrace numbers 2007-05-06 14:49:56 +01:00
resource.h
rtc.h
scatterlist.h
sections.h
segment.h
semaphore-helper.h
semaphore.h
sembuf.h
serial.h
setup.h [PATCH] cleanup asm/setup.h userspace visibility 2006-12-07 08:39:46 -08:00
shmbuf.h
shmparam.h
sigcontext.h
siginfo.h
signal.h
sizes.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
spinlock_types.h
spinlock.h [PATCH] Remove the last reference to rwlock_is_locked() macro. 2007-02-11 10:51:34 -08:00
stat.h
statfs.h
string.h
suspend.h
system.h move die notifier handling to common code 2007-05-08 11:15:04 -07:00
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
therm.h
thread_info.h [ARM] Move syscall saving out of the way of utrace 2007-05-06 13:56:26 +01:00
thread_notify.h
timex.h
tlb.h
tlbflush.h [ARM] 4129/1: Add barriers after the TLB operations 2007-02-08 14:49:27 +00:00
topology.h
traps.h
types.h
uaccess.h Storage class should be before const qualifier 2007-02-17 20:11:19 +01:00
ucontext.h
unaligned.h
unistd.h [ARM] Fix __NR_kexec_load 2007-04-01 22:35:01 +01:00
user.h
vfp.h
vfpmacros.h
vga.h
xor.h