Port persimmon r6572 to e350m1: I/O APIC ID
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
This commit is contained in:
parent
e1898b5fa1
commit
6d5ee2d80a
|
@ -64,7 +64,7 @@ unsigned long acpi_fill_madt(unsigned long current)
|
||||||
current = acpi_create_madt_lapics(current);
|
current = acpi_create_madt_lapics(current);
|
||||||
|
|
||||||
/* Write SB800 IOAPIC, only one */
|
/* 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);
|
IO_APIC_ADDR, 0);
|
||||||
|
|
||||||
current += acpi_create_madt_irqoverride((acpi_madt_irqoverride_t *)
|
current += acpi_create_madt_irqoverride((acpi_madt_irqoverride_t *)
|
||||||
|
|
|
@ -138,7 +138,7 @@ void get_bus_conf(void)
|
||||||
|
|
||||||
/* I/O APICs: APIC ID Version State Address */
|
/* I/O APICs: APIC ID Version State Address */
|
||||||
bus_isa = 10;
|
bus_isa = 10;
|
||||||
apicid_base = CONFIG_MAX_PHYSICAL_CPUS;
|
apicid_base = CONFIG_MAX_CPUS;
|
||||||
//#if CONFIG_LOGICAL_CPUS==1
|
//#if CONFIG_LOGICAL_CPUS==1
|
||||||
// apicid_base = get_apicid_base(1);
|
// apicid_base = get_apicid_base(1);
|
||||||
//#endif
|
//#endif
|
||||||
|
|
|
@ -69,7 +69,7 @@ static void *smp_write_config_table(void *v)
|
||||||
dword |= (pm_ioread(0x35) & 0xFF) << 8;
|
dword |= (pm_ioread(0x35) & 0xFF) << 8;
|
||||||
dword |= (pm_ioread(0x36) & 0xFF) << 16;
|
dword |= (pm_ioread(0x36) & 0xFF) << 16;
|
||||||
dword |= (pm_ioread(0x37) & 0xFF) << 24;
|
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 ++) {
|
for (byte = 0x0; byte < sizeof(intr_data); byte ++) {
|
||||||
outb(byte | 0x80, 0xC00);
|
outb(byte | 0x80, 0xC00);
|
||||||
|
|
Loading…
Reference in New Issue