Booting a system with cpu0 in 'failed' state

Ameet Paranjape ameet at austin.ibm.com
Wed Sep 7 04:42:59 EST 2005


This patch allows a system to boot up even with cpu0 in the 'failed' state.

--- linux-2.6.5-7.183/arch/ppc64/kernel/prom.c  2005-06-17 
15:04:31.000000000 -0500
+++ linux-2.6.5-7.183-16463/arch/ppc64/kernel/prom.c    2005-06-22 
17:07:33.000000000 -0500
@@ -1102,8 +1102,24 @@ static void __init prom_hold_cpus(unsign
                }
                                                                                                    
 
                hw_cpu_num = interrupt_server[0];
+
+               /*
+                *    As we iterate through each cpu in the loop, we 
look for the first cpu with 'okay' status.  Once found,
+                *    that cpu becomes the boot cpu following the boot 
cpu path.
+               */
+               {
+                       static int check=0;
+                       if((strcmp(type, RELOC("okay")) == 0) && !check++)
+                               _prom->cpu = hw_cpu_num;
+               }
+
+
                if (hw_cpu_num != _prom->cpu) {
                       /* Primary Thread of non-boot cpu */
                        prom_print_hex(cpuid);
                        prom_print(RELOC(" : starting cpu "));
                        prom_print(path);



More information about the Linuxppc64-dev mailing list