[coreboot] [PATCH]: Disable ExtINT in ioapic.c

Marc Jones marcj303 at gmail.com
Fri Mar 5 23:02:18 CET 2010


On Tue, Feb 2, 2010 at 6:40 PM, Stefan Reinauer <stepan at coresystems.de> wrote:
> 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)

Sefan,

You are right. The sb600 was really doing a clear_ioapic() previously.
I don't yet understand why the virtual wire mode causes problems. It
is either an additional sb600 setup issue or a mainboard problem with
how EXTINT is connected. The setup_ioapic() should probably have more
options as EXTINT doesn't have to be connected to the APIC.

Signed-off-by: Marc Jones <marcj303 at gmail.com>

Marc


-- 
http://se-eng.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sb600_apic.patch
Type: application/octet-stream
Size: 834 bytes
Desc: not available
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20100305/e50118b8/attachment.obj>


More information about the coreboot mailing list