Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[pandora-kernel.git] / arch / powerpc / kernel / setup-common.c
index d57930d..0af3fc1 100644 (file)
@@ -304,18 +304,21 @@ struct seq_operations cpuinfo_op = {
 void __init check_for_initrd(void)
 {
 #ifdef CONFIG_BLK_DEV_INITRD
-       const unsigned long *prop;
+       const unsigned int *prop;
+       int len;
 
        DBG(" -> check_for_initrd()\n");
 
        if (of_chosen) {
-               prop = get_property(of_chosen, "linux,initrd-start", NULL);
+               prop = get_property(of_chosen, "linux,initrd-start", &len);
                if (prop != NULL) {
-                       initrd_start = (unsigned long)__va(*prop);
+                       initrd_start = (unsigned long)
+                               __va(of_read_ulong(prop, len / 4));
                        prop = get_property(of_chosen,
-                                       "linux,initrd-end", NULL);
+                                       "linux,initrd-end", &len);
                        if (prop != NULL) {
-                               initrd_end = (unsigned long)__va(*prop);
+                               initrd_end = (unsigned long)
+                                       __va(of_read_ulong(prop, len / 4));
                                initrd_below_start_ok = 1;
                        } else
                                initrd_start = 0;
@@ -441,6 +444,8 @@ void __init smp_setup_cpu_maps(void)
 
 int __initdata do_early_xmon;
 #ifdef CONFIG_XMON
+extern int xmon_no_auto_backtrace;
+
 static int __init early_xmon(char *p)
 {
        /* ensure xmon is enabled */
@@ -449,6 +454,8 @@ static int __init early_xmon(char *p)
                        xmon_init(1);
                if (strncmp(p, "off", 3) == 0)
                        xmon_init(0);
+               if (strncmp(p, "nobt", 4) == 0)
+                       xmon_no_auto_backtrace = 1;
                if (strncmp(p, "early", 5) != 0)
                        return 0;
        }