linux/arch/sparc64
David S. Miller f2b6079464 sparc64: Fix cmdline_memory_size handling bugs.
First, lmb_enforce_memory_limit() interprets it's argument
(mostly, heh) as a size limit not an address limit.  So pass
the raw cmdline_memory_size value into it.  And we don't
need to check it against zero, lmb_enforce_memory_limit() does
that for us.

Next, free_initmem() needs special handling when the kernel
command line trims the available memory.  The problem case is
if the trimmed out memory is where the kernel image itself
resides.

When that memory is trimmed out, we don't add those physical
ram areas to the sparsemem active ranges, amongst other things.
Which means that this free_initmem() code will free up invalid
page structs, resulting in either crashes or hangs.

Just quick fix this by not freeing initmem at all if "mem="
was given on the boot command line.

Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-14 01:45:41 -07:00
..
boot sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
kernel sparc64: Handle stack trace attempts before irqstacks are setup. 2008-08-13 17:20:04 -07:00
lib sparc64: Implement IRQ stacks. 2008-08-12 18:33:56 -07:00
math-emu sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
mm sparc64: Fix cmdline_memory_size handling bugs. 2008-08-14 01:45:41 -07:00
oprofile Combine instrumentation menus in kernel/Kconfig.instrumentation 2007-10-19 11:53:54 -07:00
prom sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
Kconfig sparc64: tracehook: CONFIG_HAVE_ARCH_TRACEHOOK 2008-07-27 17:33:07 -07:00
Kconfig.debug sparc64: add ftrace support. 2008-05-23 22:36:13 +02:00
Makefile sparc: add -m64 when building vmlinux.lds 2008-07-17 21:39:11 -07:00
defconfig sparc64: Update defconfig. 2008-07-18 01:49:06 -07:00