[PATCH] powerpc: Fix machine detection in prom_init.c
authorMichael Ellerman <michael@ellerman.id.au>
Fri, 7 Apr 2006 03:56:21 +0000 (13:56 +1000)
committerPaul Mackerras <paulus@samba.org>
Thu, 13 Apr 2006 16:32:00 +0000 (09:32 -0700)
In e8222502ee6157e2713da9e0792c21f4ad458d50 the detection of machine types
in prom_init broke for some machines. We should be checking /device_type
instead of /model. This should make Power3 and Power4 boot again. Haven't
been able to test this.  We also need to relocate before comparing.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/kernel/prom_init.c

index d66c5e77fcff35c9c5eb921339bd016b0c9c9978..7e4d54821a079411499dd2958f26bec980b1300b 100644 (file)
@@ -1528,12 +1528,11 @@ static int __init prom_find_machine_type(void)
         *    non-IBM designs !
         *  - it has /rtas
         */
-       len = prom_getprop(_prom->root, "model",
+       len = prom_getprop(_prom->root, "device_type",
                           compat, sizeof(compat)-1);
        if (len <= 0)
                return PLATFORM_GENERIC;
-       compat[len] = 0;
-       if (strcmp(compat, "chrp"))
+       if (strncmp(compat, RELOC("chrp"), 4))
                return PLATFORM_GENERIC;
 
        /* Default to pSeries. We need to know if we are running LPAR */