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