aboutsummaryrefslogtreecommitdiff
path: root/mm/page_alloc.c
diff options
context:
space:
mode:
authorMel Gorman <mel@csn.ul.ie>2007-07-17 04:03:14 -0700
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-17 10:22:59 -0700
commited7ed365172e27b0efe9d43cc962723c7193e34e (patch)
tree6c22daf6908f92c64aae2b425e6383fe0ed404ac /mm/page_alloc.c
parent396faf0303d273219db5d7eb4a2879ad977ed185 (diff)
handle kernelcore=: generic
This patch adds the kernelcore= parameter for x86. Once all patches are applied, a new command-line parameter exist and a new sysctl. This patch adds the necessary documentation. From: Yasunori Goto <y-goto@jp.fujitsu.com> When "kernelcore" boot option is specified, kernel can't boot up on ia64 because of an infinite loop. In addition, the parsing code can be handled in an architecture-independent manner. This patch uses common code to handle the kernelcore= parameter. It is only available to architectures that support arch-independent zone-sizing (i.e. define CONFIG_ARCH_POPULATES_NODE_MAP). Other architectures will ignore the boot parameter. [bunk@stusta.de: make cmdline_parse_kernelcore() static] Signed-off-by: Mel Gorman <mel@csn.ul.ie> Signed-off-by: Yasunori Goto <y-goto@jp.fujitsu.com> Acked-by: Andy Whitcroft <apw@shadowen.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/page_alloc.c')
-rw-r--r--mm/page_alloc.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index c3f6f851f76e..0a53728a12f5 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -3416,7 +3416,7 @@ void __init free_area_init_nodes(unsigned long *max_zone_pfn)
* kernelcore=size sets the amount of memory for use for allocations that
* cannot be reclaimed or migrated.
*/
-int __init cmdline_parse_kernelcore(char *p)
+static int __init cmdline_parse_kernelcore(char *p)
{
unsigned long long coremem;
if (!p)
@@ -3430,6 +3430,9 @@ int __init cmdline_parse_kernelcore(char *p)
return 0;
}
+
+early_param("kernelcore", cmdline_parse_kernelcore);
+
#endif /* CONFIG_ARCH_POPULATES_NODE_MAP */
/**