diff options
author | Yinghai Lu <yinghailu@gmail.com> | 2005-01-10 22:20:51 +0000 |
---|---|---|
committer | Yinghai Lu <yinghailu@gmail.com> | 2005-01-10 22:20:51 +0000 |
commit | 3a23863a3a43c23b8405524406ddff11edb0a407 (patch) | |
tree | b5b9a4bd065936522ed90ab2233eb9c2bc74c7bc /src/mainboard/tyan/s4880 | |
parent | 20a2a570929820b197476a48291973c0fb62d373 (diff) |
nodeid
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1849 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/mainboard/tyan/s4880')
-rw-r--r-- | src/mainboard/tyan/s4880/auto.c | 14 | ||||
-rw-r--r-- | src/mainboard/tyan/s4880/failover.c | 9 |
2 files changed, 11 insertions, 12 deletions
diff --git a/src/mainboard/tyan/s4880/auto.c b/src/mainboard/tyan/s4880/auto.c index b083ce0c91..21855aa51c 100644 --- a/src/mainboard/tyan/s4880/auto.c +++ b/src/mainboard/tyan/s4880/auto.c @@ -228,6 +228,7 @@ static void main(unsigned long bist) }; int i; int needs_reset; + unsigned nodeid; if (bist == 0) { /* Skip this if there was a built in self test failure */ @@ -235,17 +236,12 @@ static void main(unsigned long bist) enable_lapic(); init_timer(); - if (cpu_init_detected()) { -#if 1 + nodeid = lapicid() & 0xf; + + if (cpu_init_detected(nodeid)) { asm volatile ("jmp __cpu_reset"); -#else - /* cpu reset also reset the memtroller ???? - need soft_reset to reset all except keep HT link freq and width */ - distinguish_cpu_resets(); - soft2_reset(); -#endif } - distinguish_cpu_resets(); + distinguish_cpu_resets(nodeid); if (!boot_cpu()) { stop_this_cpu(); } diff --git a/src/mainboard/tyan/s4880/failover.c b/src/mainboard/tyan/s4880/failover.c index 2f63cc85b7..45315521ac 100644 --- a/src/mainboard/tyan/s4880/failover.c +++ b/src/mainboard/tyan/s4880/failover.c @@ -13,11 +13,14 @@ static unsigned long main(unsigned long bist) { - /* Make cerain my local apic is useable */ - enable_lapic(); + unsigned nodeid; + /* Make cerain my local apic is useable */ + enable_lapic(); + + nodeid = lapicid() & 0xf; /* Is this a cpu only reset? */ - if (cpu_init_detected()) { + if (cpu_init_detected(nodeid)) { if (last_boot_normal()) { goto normal_image; } else { |