summaryrefslogtreecommitdiff
path: root/src/mainboard/tyan/s4880
diff options
context:
space:
mode:
authorYinghai Lu <yinghailu@gmail.com>2005-01-10 22:20:51 +0000
committerYinghai Lu <yinghailu@gmail.com>2005-01-10 22:20:51 +0000
commit3a23863a3a43c23b8405524406ddff11edb0a407 (patch)
treeb5b9a4bd065936522ed90ab2233eb9c2bc74c7bc /src/mainboard/tyan/s4880
parent20a2a570929820b197476a48291973c0fb62d373 (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.c14
-rw-r--r--src/mainboard/tyan/s4880/failover.c9
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 {