Revision: linuxbios@linuxbios.org--devel/freebios--devel--2.0--patch-34
[coreboot.git] / src / mainboard / tyan / s2881 / failover.c
index 780b3052eb4b42874ec5aa9039f9f674b99c42ce..a993aedb86b74a8675caaaa15c15077a0771984c 100644 (file)
 #include "cpu/x86/lapic/boot_cpu.c"
 #include "northbridge/amd/amdk8/reset_test.c"
 
+#if CONFIG_LOGICAL_CPUS==1
+#include "cpu/amd/dualcore/dualcore_id.c"
+#endif  
+        
+                
 static unsigned long main(unsigned long bist)
-{
-       unsigned nodeid;
-       /* Make cerain my local apic is useable */
-       enable_lapic();
-
-       nodeid = lapicid() & 0xf;
-
-       /* Is this a cpu only reset? */
-       if (cpu_init_detected(nodeid)) {
+{       
+#if CONFIG_LOGICAL_CPUS==1
+        struct node_core_id id;
+#else   
+        unsigned nodeid;
+#endif          
+        /* Make cerain my local apic is useable */
+        enable_lapic();
+        
+#if CONFIG_LOGICAL_CPUS==1
+        id = get_node_core_id_x();
+        /* Is this a cpu only reset? */
+        if (cpu_init_detected(id.nodeid)) {
+#else
+        nodeid = lapicid();
+        /* Is this a cpu only reset? */
+        if (cpu_init_detected(nodeid)) {
+#endif
                if (last_boot_normal()) {
                        goto normal_image;
                } else {