diff options
author | Yinghai Lu <yinghailu@gmail.com> | 2005-01-07 21:15:39 +0000 |
---|---|---|
committer | Yinghai Lu <yinghailu@gmail.com> | 2005-01-07 21:15:39 +0000 |
commit | 0fe9902b508c3421b9a55d5d2a7fc6154f7f2c77 (patch) | |
tree | b2bb25b08b9e0193f9810524629ce6876b1657ff /src | |
parent | 90a04ee5a93c0e99cbc46febf5556be6affef03b (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
Diffstat (limited to 'src')
-rw-r--r-- | src/mainboard/tyan/s4882/auto.c | 4 | ||||
-rw-r--r-- | src/mainboard/tyan/s4882/failover.c | 7 |
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 { |