[coreboot] [PATCH] make I/O APIC IDs and processor APIC IDs unique (asus/m4a785-m)

Marc Jones marcj303 at gmail.com
Wed Sep 15 19:36:25 CEST 2010


On Wed, Sep 15, 2010 at 4:53 AM, Peter Stuge <peter at stuge.se> wrote:
> Scott Duplichan wrote:
>> Assigning a unique id to the SB ioapic is not as simple as choosing
>> the next biggest available value, because the ioapic is
>> traditionally a 4-bit value.
>
> Did you look at how the K8 support does this? I think this may
> already be handled there, maybe it's a useful reference.
>

K8 and Fa10 have the same option to lift the BSP APIC ID, The code
looks stale and I don't think that it would be enough for FAM10. For
K8 you only need to move one ID to make room for the SB (2*8). For
FAM10, you need to lift more than just the BSP.


>
>> +++ src/southbridge/amd/sb700/sb700_sm.c      (working copy)
>> +   #if (CONFIG_APIC_ID_OFFSET == 0 && CONFIG_MAX_CPUS * CONFIG_MAX_PHYSICAL_CPUS < 16)
> ..

Have you tried setting CONFIG_APIC_ID_OFFSET?

>
>> +++ src/mainboard/asus/m4a785-m/acpi_tables.c (working copy)
>> +   #if (CONFIG_APIC_ID_OFFSET == 0 && CONFIG_MAX_CPUS * CONFIG_MAX_PHYSICAL_CPUS < 16)
>> +   #define IO_APIC_ID (CONFIG_MAX_CPUS * CONFIG_MAX_PHYSICAL_CPUS)
>> +   #else
>> +   #define IO_APIC_ID 0
>> +   #endif
>
> Is there a header file in north or southbridge that could be used to
> store the logic?

I agree, this doesn't belong in acpi code.  IO_APIC_ID could be used
in the sb700_sm.c as well.

Marc

-- 
http://se-eng.com




More information about the coreboot mailing list