This commit was manufactured by cvs2svn to create tag
[linux-2.6.git] / arch / i386 / kernel / setup.c
index 19827c0..6910009 100644 (file)
@@ -662,6 +662,8 @@ static inline void copy_edd(void)
  */
 #define LOWMEMSIZE()   (0x9f000)
 
+unsigned long crashdump_addr = 0xdeadbeef;
+
 static void __init parse_cmdline_early (char ** cmdline_p)
 {
        char c = ' ', *to = command_line, *from = saved_command_line;
@@ -815,6 +817,9 @@ static void __init parse_cmdline_early (char ** cmdline_p)
                if (c == ' ' && !memcmp(from, "highmem=", 8))
                        highmem_pages = memparse(from+8, &from) >> PAGE_SHIFT;
        
+               if (c == ' ' && !memcmp(from, "crashdump=", 10))
+                       crashdump_addr = memparse(from+10, &from); 
+                       
                /*
                 * vmalloc=size forces the vmalloc area to be exactly 'size'
                 * bytes. This can be used to increase (or decrease) the
@@ -1288,6 +1293,10 @@ __setup("noreplacement", noreplacement_setup);
 
 static char * __init machine_specific_memory_setup(void);
 
+#ifdef CONFIG_CRASH_DUMP_SOFTBOOT
+extern void crashdump_reserve(void);
+#endif
+
 /*
  * Determine if we were loaded by an EFI loader.  If so, then we have also been
  * passed the efi memmap, systab, etc., so we should use these data structures
@@ -1393,6 +1402,10 @@ void __init setup_arch(char **cmdline_p)
 #endif
 
 
+#ifdef CONFIG_CRASH_DUMP_SOFTBOOT
+       crashdump_reserve(); /* Preserve crash dump state from prev boot */
+#endif
+
        dmi_scan_machine();
 
 #ifdef CONFIG_X86_GENERICARCH