From ed7ed365172e27b0efe9d43cc962723c7193e34e Mon Sep 17 00:00:00 2001 From: Mel Gorman Date: Tue, 17 Jul 2007 04:03:14 -0700 Subject: 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 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 Signed-off-by: Yasunori Goto Acked-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- mm/page_alloc.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'mm/page_alloc.c') 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 */ /** -- cgit v1.2.3-59-g8ed1b