[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