linux/include/asm-sh
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
..
cpu-sh2 [PATCH] Optimize D-cache alias handling on fork 2006-12-13 09:27:08 -08:00
cpu-sh2a sh: Drop CPU subtype IRQ headers. 2006-12-06 10:45:37 +09:00
cpu-sh3 sh: MS7712SE01 board support. 2007-05-07 02:10:54 +00:00
cpu-sh4 sh: SH7722 clock framework support. 2007-05-07 02:11:56 +00:00
dreamcast fix file specification in comments 2006-10-03 23:01:26 +02:00
hd64465 fix file specification in comments 2006-10-03 23:01:26 +02:00
landisk sh: Remove board-specific ide.h headers. 2006-10-19 16:30:32 +09:00
mpc1211 fix file specification in comments 2006-10-03 23:01:26 +02:00
saturn Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sh03 sh: Remove board-specific ide.h headers. 2006-10-19 16:30:32 +09:00
.gitignore sh: Initial gitignore list 2006-10-03 13:16:15 +09:00
a.out.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
adc.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
addrspace.h sh: __addr_ok() and other misc nommu fixups. 2006-09-27 17:25:07 +09:00
atomic-irq.h sh: Split out atomic ops logically. 2006-12-12 08:42:08 +09:00
atomic-llsc.h sh: Split out atomic ops logically. 2006-12-12 08:42:08 +09:00
atomic.h sh: Split out atomic ops logically. 2006-12-12 08:42:08 +09:00
auxvec.h sh: Initial vsyscall page support. 2006-09-27 18:33:49 +09:00
bitops.h sh: Various cosmetic cleanups. 2006-09-27 12:31:01 +09:00
bug.h sh: generic BUG() support. 2007-05-07 02:10:53 +00:00
bugs.h sh: Fixup cpu_data references for the non-boot CPUs. 2007-02-13 10:54:45 +09:00
byteorder.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cache.h sh: Use L1_CACHE_BYTES for .data.cacheline_aligned. 2007-03-05 14:13:26 +09:00
cacheflush.h sh: Revert lazy dcache writeback changes. 2007-03-05 19:46:47 +09:00
checksum.h sh: Shut up csum_ipv6_magic() warnings. 2006-12-12 08:42:07 +09:00
clock.h sh: Move clock reporting to its own proc entry. 2007-05-07 02:11:56 +00:00
cpu-features.h sh: Support for L2 cache on newer SH-4A CPUs. 2006-09-27 18:27:43 +09:00
cputime.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
current.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
delay.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
device.h Driver core: add dev_archdata to struct device 2006-12-01 14:52:01 -08:00
div64.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dma-mapping.h sh: define dma noncoherent API functions. 2007-02-13 11:11:22 +09:00
dma.h sh: dma-api channel capability extensions. 2006-12-06 10:45:39 +09:00
edosk7705.h sh: Add some missing board headers. 2006-10-19 17:31:22 +09:00
elf.h sh: Preliminary support for SH-X2 MMU. 2006-12-06 10:45:37 +09:00
emergency-restart.h [PATCH] Add emergency_restart() 2005-07-26 14:35:41 -07:00
entry-macros.S sh: Fixup various PAGE_SIZE == 4096 assumptions. 2006-12-06 10:45:39 +09:00
errno.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
fcntl.h [PATCH] Clean up struct flock64 definitions 2005-09-07 16:57:38 -07:00
fixmap.h sh: Various cosmetic cleanups. 2006-09-27 12:31:01 +09:00
flat.h sh: Various nommu fixes. 2006-09-27 17:21:02 +09:00
floppy.h [PATCH] irq-flags: SH: Use the new IRQF_ constants 2006-07-02 13:58:48 -07:00
freq.h [PATCH] sh: Simplistic clock framework 2006-01-16 23:15:28 -08:00
futex.h [PATCH] consolidate asm/futex.h 2006-01-08 20:13:39 -08:00
hardirq.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
hd64461.h sh: APM/PM support. 2006-09-27 16:20:22 +09:00
hp6xx.h sh: Trivial fix for hp6xx build. 2007-03-28 19:45:59 +09:00
hs7751rvoip.h sh: Add some missing board headers. 2006-10-19 17:31:22 +09:00
hw_irq.h sh: Updates for IRQ handler changes. 2006-10-06 15:31:16 +09:00
ide.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
io_generic.h [PATCH] sh: I/O routine cleanups and ioremap() overhaul 2006-01-16 23:15:28 -08:00
io.h [PATCH] Consolidate check_signature 2006-10-11 11:14:23 -07:00
ioctl.h [PATCH] Generic ioctl.h 2006-01-10 08:01:34 -08:00
ioctls.h sh: Convert struct ioctls to static defines. 2007-03-12 16:12:45 +09:00
ipc.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ipcbuf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irq_regs.h sh: Updates for IRQ handler changes. 2006-10-06 15:31:16 +09:00
irq.h sh: NR_IRQS consolidation. 2007-05-07 02:10:53 +00:00
irqflags.h sh: stacktrace/lockdep/irqflags tracing support. 2006-12-06 10:45:40 +09:00
Kbuild sh: Add cpu-features header to asm/Kbuild. 2007-02-13 10:54:46 +09: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
keyboard.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
kgdb.h sh: Bring kgdb back from the dead. 2007-05-07 02:10:51 +00:00
kmap_types.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
lboxre2.h sh: Tidy up L-BOX area5 addresses. 2007-05-07 02:11:55 +00:00
linkage.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
local.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
machvec_init.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
machvec.h sh: machvec rework. 2006-09-27 18:17:31 +09:00
mc146818rtc.h sh: Kill off the rest of the legacy rtc mess. 2006-09-27 17:45:01 +09:00
microdev.h [PATCH] sh: SH4-202 microdev updates 2006-02-01 08:53:19 -08:00
mman.h [PATCH] add asm-generic/mman.h 2006-02-15 15:32:22 -08:00
mmu_context.h sh: bootmem tidying for discontig/sparsemem preparation. 2007-05-07 02:10:54 +00:00
mmu.h sh: Use a per-cpu ASID cache. 2007-02-13 10:54:45 +09:00
module.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
msgbuf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mutex.h [PATCH] mutex subsystem, add default include/asm-*/mutex.h files 2006-01-09 15:59:19 -08:00
namei.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
page.h sh: bootmem tidying for discontig/sparsemem preparation. 2007-05-07 02:10:54 +00:00
param.h sh: Obey CONFIG_HZ for HZ definition. 2007-05-07 02:11:56 +00:00
pci.h sh: Add SH7785 Highlander board support (R7785RP). 2007-05-07 02:10:53 +00:00
percpu.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pgalloc.h sh: pmd rework. 2006-12-06 10:45:38 +09:00
pgtable.h sh: Revert lazy dcache writeback changes. 2007-03-05 19:46:47 +09:00
pm.h sh: APM/PM support. 2006-09-27 16:20:22 +09:00
poll.h [PATCH] POLLRDHUP/EPOLLRDHUP handling for half-closed devices notifications 2006-03-25 08:22:56 -08:00
posix_types.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
processor.h sh: MS7712SE01 board support. 2007-05-07 02:10:54 +00:00
ptrace.h Fix 'make headers_check' on sh 2006-09-21 08:36:50 +01:00
push-switch.h sh: push-switch fixups for work_struct API damage. 2006-12-12 08:42:07 +09:00
r7780rp.h sh: R7785RP board updates. 2007-05-07 02:11:57 +00:00
resource.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rtc.h sh: Kill off the rest of the legacy rtc mess. 2006-09-27 17:45:01 +09:00
rts7751r2d.h sh: rts7751r2d board updates. 2007-02-15 18:20:52 +09:00
rwsem.h sh: stacktrace/lockdep/irqflags tracing support. 2006-12-06 10:45:40 +09:00
scatterlist.h PCI: scatterlist.h needs types.h 2007-05-02 19:02:34 -07:00
sci.h serial: Add SERIAL_SH_SCI_NR_UARTS for sh-sci. 2006-09-27 17:32:30 +09:00
se7206.h sh: SE7206 build fixes. 2006-12-06 10:45:37 +09:00
se7300.h sh: Board updates for I/O routine rework. 2006-09-27 15:41:24 +09:00
se7343.h sh: Solution Engine SH7343 board support. 2006-09-27 18:09:34 +09:00
se7722.h sh: Solution Engine 7722 board support. 2007-05-07 02:11:57 +00:00
se7751.h sh: Bring kgdb back from the dead. 2007-05-07 02:10:51 +00:00
se7780.h sh: SH7780 Solution Engine board support. 2007-05-07 02:11:55 +00:00
se73180.h sh: Board updates for I/O routine rework. 2006-09-27 15:41:24 +09:00
se.h sh: Solution Engine SH7705 board and CPU updates. 2007-05-07 02:11:56 +00:00
sections.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
segment.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
semaphore-helper.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
semaphore.h [PATCH] semaphore: Remove __MUTEX_INITIALIZER() 2005-10-30 17:37:27 -08:00
sembuf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
serial.h sh: rts7751r2d board updates. 2007-02-15 18:20:52 +09:00
setup.h [PATCH] cleanup asm/setup.h userspace visibility 2006-12-07 08:39:46 -08:00
sfp-machine.h sh: Kill off remaining config.h references. 2006-10-03 13:19:02 +09:00
sh_bios.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
shmbuf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
shmin.h sh: Add some missing board headers. 2006-10-19 17:31:22 +09:00
shmparam.h sh: Fixup SHMLBA definition for SH7705. 2006-09-27 15:29:18 +09:00
sigcontext.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
siginfo.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
signal.h [PATCH] irq-flags: SH: Use the new IRQF_ constants 2006-07-02 13:58:48 -07:00
smc37c93x.h sh: Move smc37c93x.h for SystemH board use. 2006-09-27 11:16:20 +09:00
smp.h sh: remove cpu_online() definition from <asm/smp.h> 2006-09-27 14:32:57 +09:00
snapgear.h sh: Board updates for I/O routine rework. 2006-09-27 15:41:24 +09:00
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 [PATCH] spinlock consolidation 2005-09-10 10:06:21 -07:00
spinlock.h sh: Fixup __raw_read_trylock(). 2006-10-03 14:13:09 +09:00
stat.h sh: Fix fstatat64() syscall. 2007-05-07 02:11:55 +00:00
statfs.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
string.h [STRING]: Move strcasecmp/strncasecmp to lib/string.c 2007-04-26 01:54:39 -07:00
system.h sh: Add die chain notifiers. 2007-05-07 02:11:57 +00:00
systemh7751.h sh: Board updates for I/O routine rework. 2006-09-27 15:41:24 +09: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
thread_info.h sh: Clear UBC when not in use. 2007-03-05 14:13:25 +09:00
timer.h sh: dyntick infrastructure. 2006-12-06 10:45:40 +09:00
timex.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
titan.h sh: sh775x/titan fixes for irq header changes. 2006-12-06 12:05:02 +09:00
tlb.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
tlbflush.h sh: Local TLB flushing variants for SMP prep. 2007-02-13 10:54:45 +09:00
topology.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
types.h [PATCH] Centralise definitions of sector_t and blkcnt_t 2006-12-04 19:41:15 -08:00
uaccess.h sh: __addr_ok() and other misc nommu fixups. 2006-09-27 17:25:07 +09:00
ubc.h sh: Fixup cpu_data references for the non-boot CPUs. 2007-02-13 10:54:45 +09:00
ucontext.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
unaligned.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
unistd.h sh: Define missing __NR_readahead. 2007-03-12 15:55:19 +09:00
user.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
voyagergx.h sh: rts7751r2d board updates. 2007-02-15 18:20:52 +09:00
watchdog.h sh: Various cosmetic cleanups. 2006-09-27 12:31:01 +09:00
xor.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00