summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYinghai Lu <yinghailu@gmail.com>2005-01-07 21:15:39 +0000
committerYinghai Lu <yinghailu@gmail.com>2005-01-07 21:15:39 +0000
commit0fe9902b508c3421b9a55d5d2a7fc6154f7f2c77 (patch)
treeb2bb25b08b9e0193f9810524629ce6876b1657ff
parent90a04ee5a93c0e99cbc46febf5556be6affef03b (diff)
enable apic ext id to keep bsp using apid 0
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1847 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
-rw-r--r--src/mainboard/tyan/s4882/auto.c4
-rw-r--r--src/mainboard/tyan/s4882/failover.c7
2 files changed, 9 insertions, 2 deletions
diff --git a/src/mainboard/tyan/s4882/auto.c b/src/mainboard/tyan/s4882/auto.c
index 95618a3856..e7d46d2187 100644
--- a/src/mainboard/tyan/s4882/auto.c
+++ b/src/mainboard/tyan/s4882/auto.c
@@ -244,7 +244,9 @@ static void main(unsigned long bist)
nodeid = lapicid() & 0xf;
#if ENABLE_APIC_EXT_ID == 1
enable_apic_ext_id(nodeid);
- lapic_write(LAPIC_ID, ( lapic_read(LAPIC_ID) | (APIC_ID_OFFSET<<24) ) ); // CPU apicid is from 0x10
+ if(nodeid != 0) {
+ lapic_write(LAPIC_ID, ( lapic_read(LAPIC_ID) | (APIC_ID_OFFSET<<24) ) ); // CPU apicid is from 0x10
+ }
#endif
if (cpu_init_detected(nodeid)) {
asm volatile ("jmp __cpu_reset");
diff --git a/src/mainboard/tyan/s4882/failover.c b/src/mainboard/tyan/s4882/failover.c
index 2f63cc85b7..2c8fb0041b 100644
--- a/src/mainboard/tyan/s4882/failover.c
+++ b/src/mainboard/tyan/s4882/failover.c
@@ -13,11 +13,16 @@
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()) {
+ if (cpu_init_detected(nodeid)) {
if (last_boot_normal()) {
goto normal_image;
} else {