Port persimmon r6572 to e350m1: I/O APIC ID
authorMarshall Buschman <mbuschman@lucidmachines.com>
Sat, 4 Jun 2011 15:43:15 +0000 (15:43 +0000)
committerPeter Stuge <peter@stuge.se>
Sat, 4 Jun 2011 15:43:15 +0000 (15:43 +0000)
1) Set I/O APIC ID according to BKDG recommendation
2) Correct I/O APIC ID reported by mptable

Signed-off-by: Marshall Buschman <mbuschman@lucidmachines.com>
Acked-by: Peter Stuge <peter@stuge.se>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@6621 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1

src/mainboard/asrock/e350m1/acpi_tables.c
src/mainboard/asrock/e350m1/get_bus_conf.c
src/mainboard/asrock/e350m1/mptable.c

index 292aaadf1cd130264bd7cd3e38580a859b61ef22..20b0dc2f60eff1560c66f972c195da2151986d52 100644 (file)
@@ -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 *)
index 9e148d078361b58f7dbf9515aa176cb8d40459b5..5f48498bce0b28e82c0db702043b6eacbf67cb4d 100644 (file)
@@ -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
index 78eec6a14a73b0153a880396f31a01af577f8fd1..e286e6f08e54da34348312b4e2be362df08e8422 100644 (file)
@@ -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);