I tried other board. The K8+rs690+sb600 and k8+rs780+sb700 don't work on current version, while fam10+rs780+sb700 works. I doubt that it has something to do the spurious interrupt or timer interrupt. I don't know. Do you have any idea?
Zheng
-----Original Message----- From: coreboot-bounces@coreboot.org [mailto:coreboot-bounces@coreboot.org] On Behalf Of Stefan Reinauer Sent: Wednesday, February 03, 2010 9:41 AM To: coreboot@coreboot.org Subject: Re: [coreboot] [PATCH]: Disable ExtINT in ioapic.c
On 2/2/10 4:25 AM, Bao, Zheng wrote:
Index: src/arch/i386/smp/ioapic.c
--- src/arch/i386/smp/ioapic.c (revision 5073) +++ src/arch/i386/smp/ioapic.c (working copy) @@ -110,7 +110,7 @@ #endif
/* Enable Virtual Wire Mode */
- low = ENABLED | TRIGGER_EDGE | POLARITY_HIGH | PHYSICAL_DEST |
ExtINT;
low = DISABLED; high = bsp_lapicid << (56 - 32);
io_apic_write(ioapic_base, 0x10, low);
Hm.. This will break quite some other boards...
Is there any particular reason why the dbm690t will not work in virtual wire mode?
I think either the sb600 code should call clear_ioapic() instead of setup_ioapic() or (maybe better) the setup_ioapic() function should get an additional parameter virtual_wire
Anyways, maybe we should try to unify clear_ioapic and setup_ioapic
(also, the function should create a device node and append it to the bridge it is called from)
Stefan