summaryrefslogtreecommitdiff
path: root/src/mainboard
diff options
context:
space:
mode:
authorScott Duplichan <scott@notabs.org>2011-05-15 21:07:43 +0000
committerMarc Jones <marc.jones@amd.com>2011-05-15 21:07:43 +0000
commit6f7375c24c0284af1811f7d14118b21fff10160a (patch)
treed8fb937f7d0aa0c93bc4f24d5f7eef3e2112180f /src/mainboard
parent6d6a456c9af2fdb88260d06b532a3be0b0b55e2f (diff)
downloadcoreboot-6f7375c24c0284af1811f7d14118b21fff10160a.tar.xz
1) Set I/O APIC ID according to BKDG recommendation
2) Correct I/O APIC ID reported by mptable Signed-off-by: Scott Duplichan <scott@notabs.org> Acked-by: Marc Jones <marcj303@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@6572 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/mainboard')
-rw-r--r--src/mainboard/amd/persimmon/acpi_tables.c2
-rw-r--r--src/mainboard/amd/persimmon/get_bus_conf.c2
-rw-r--r--src/mainboard/amd/persimmon/mptable.c2
3 files changed, 3 insertions, 3 deletions
diff --git a/src/mainboard/amd/persimmon/acpi_tables.c b/src/mainboard/amd/persimmon/acpi_tables.c
index 292aaadf1c..20b0dc2f60 100644
--- a/src/mainboard/amd/persimmon/acpi_tables.c
+++ b/src/mainboard/amd/persimmon/acpi_tables.c
@@ -64,7 +64,7 @@ unsigned long acpi_fill_madt(unsigned long current)
current = acpi_create_madt_lapics(current);
/* Write SB800 IOAPIC, only one */
- current += acpi_create_madt_ioapic((acpi_madt_ioapic_t *) current, 2,
+ current += acpi_create_madt_ioapic((acpi_madt_ioapic_t *) current, CONFIG_MAX_CPUS,
IO_APIC_ADDR, 0);
current += acpi_create_madt_irqoverride((acpi_madt_irqoverride_t *)
diff --git a/src/mainboard/amd/persimmon/get_bus_conf.c b/src/mainboard/amd/persimmon/get_bus_conf.c
index 9e148d0783..5f48498bce 100644
--- a/src/mainboard/amd/persimmon/get_bus_conf.c
+++ b/src/mainboard/amd/persimmon/get_bus_conf.c
@@ -138,7 +138,7 @@ void get_bus_conf(void)
/* I/O APICs: APIC ID Version State Address */
bus_isa = 10;
- apicid_base = CONFIG_MAX_PHYSICAL_CPUS;
+ apicid_base = CONFIG_MAX_CPUS;
//#if CONFIG_LOGICAL_CPUS==1
// apicid_base = get_apicid_base(1);
//#endif
diff --git a/src/mainboard/amd/persimmon/mptable.c b/src/mainboard/amd/persimmon/mptable.c
index 0296cebff8..9c27c0edb2 100644
--- a/src/mainboard/amd/persimmon/mptable.c
+++ b/src/mainboard/amd/persimmon/mptable.c
@@ -69,7 +69,7 @@ static void *smp_write_config_table(void *v)
dword |= (pm_ioread(0x35) & 0xFF) << 8;
dword |= (pm_ioread(0x36) & 0xFF) << 16;
dword |= (pm_ioread(0x37) & 0xFF) << 24;
- smp_write_ioapic(mc, apicid_sb800, 0x11, dword);
+ smp_write_ioapic(mc, apicid_sb800, 0x21, dword);
for (byte = 0x0; byte < sizeof(intr_data); byte ++) {
outb(byte | 0x80, 0xC00);