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.
+++ src/southbridge/amd/sb700/sb700_sm.c (working copy)
- #if (CONFIG_APIC_ID_OFFSET == 0 && CONFIG_MAX_CPUS * CONFIG_MAX_PHYSICAL_CPUS < 16)
..
+++ 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?
//Peter