[POWERPC] pseries: phyp dump: Disable phyp-dump through boot-var
authorManish Ahuja <ahuja@austin.ibm.com>
Sat, 22 Mar 2008 00:38:59 +0000 (11:38 +1100)
committerPaul Mackerras <paulus@samba.org>
Tue, 25 Mar 2008 21:44:07 +0000 (08:44 +1100)
This adds a kernel command line option "phyp_dump", which takes a 0/1
value for disabling/ enabling phyp_dump at boot time.  Kdump can use
this on cmdline (phyp_dump=0) to disable phyp-dump during boot when
enabling itself.  This will ensure only one dumping mechanism is active
at any given time.

Signed-off-by: Manish Ahuja <mahuja@us.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/kernel/prom.c
arch/powerpc/platforms/pseries/phyp_dump.c
include/asm-powerpc/phyp_dump.h

index e6c022e..9330920 100644 (file)
@@ -1060,6 +1060,11 @@ static void __init phyp_dump_reserve_mem(void)
                return;
        }
 
+       if (!phyp_dump_info->phyp_dump_at_boot) {
+               printk(KERN_INFO "Phyp-dump disabled at boot time\n");
+               return;
+       }
+
        if (phyp_dump_info->phyp_dump_is_active) {
                /* Reserve *everything* above RMR.Area freed by userland tools*/
                base = PHYP_DUMP_RMR_END;
index 034fe1b..f80f860 100644 (file)
@@ -460,3 +460,21 @@ int __init early_init_dt_scan_phyp_dump(unsigned long node,
                                                *((unsigned long *)&sizes[4]);
        return 1;
 }
+
+/* Look for phyp_dump= cmdline option */
+static int __init early_phyp_dump_enabled(char *p)
+{
+       phyp_dump_info->phyp_dump_at_boot = 1;
+
+        if (!p)
+                return 0;
+
+        if (strncmp(p, "1", 1) == 0)
+               phyp_dump_info->phyp_dump_at_boot = 1;
+        else if (strncmp(p, "0", 1) == 0)
+               phyp_dump_info->phyp_dump_at_boot = 0;
+
+        return 0;
+}
+early_param("phyp_dump", early_phyp_dump_enabled);
+
index b454de4..209a989 100644 (file)
@@ -25,6 +25,7 @@ struct phyp_dump {
        unsigned long init_reserve_start;
        unsigned long init_reserve_size;
        /* Check status during boot if dump supported, active & present*/
+       unsigned long phyp_dump_at_boot;
        unsigned long phyp_dump_configured;
        unsigned long phyp_dump_is_active;
        /* store cpu & hpte size */