Remove incorrect IOAPIC lines from some mptable.c files.
authorUwe Hermann <uwe@hermann-uwe.de>
Sun, 31 Oct 2010 19:37:50 +0000 (19:37 +0000)
committerUwe Hermann <uwe@hermann-uwe.de>
Sun, 31 Oct 2010 19:37:50 +0000 (19:37 +0000)
 - via/epia-n/mptable.c
 - intel/eagleheights/mptable.c (commented out anyway)
 - asus/p2b-d/mptable.c
 - asus/p2b-ds/mptable.c

Some files still incorrectly contain some smp_write_ioapic() lines from
the original mptable utility target (Supermicro P4DPE), which has one
IOAPIC in the southbridge (Intel ICH3-S), two IOAPICs contained in
the first P64H2, and two more in the second P64H2, i.e. 5 IOAPICs in total.

However, none of the boards where this chunk of code is present has
multiple IOAPICs (and even if they had, the PCI devices where those are
located would probably be different anyway), so drop the incorrect
mptable.c contents.

Also drop the lines from the mptable utility, so that future mptable.c files
don't incorrectly inherit any of this stuff.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Jonathan Kollasch <jakllsch@kollasch.net>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@6006 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1

src/mainboard/asus/p2b-d/mptable.c
src/mainboard/intel/eagleheights/mptable.c
src/mainboard/via/epia-n/mptable.c
util/mptable/mptable.c

index 699cbea3d1718a23378c0946696c44a81ba84d8f..1fa9ebafced780ae8bb0ddddd29f1b2aafc4091f 100644 (file)
@@ -42,35 +42,6 @@ static void *smp_write_config_table(void *v)
        ioapic_ver = 0x11; /* External Intel 82093AA IOAPIC. */
        smp_write_ioapic(mc, ioapic_id, ioapic_ver, IO_APIC_ADDR);
 
-       {
-               device_t dev;
-               struct resource *res;
-               dev = dev_find_slot(1, PCI_DEVFN(0x1e, 0));
-               if (dev) {
-                       res = find_resource(dev, PCI_BASE_ADDRESS_0);
-                       if (res)
-                               smp_write_ioapic(mc, 3, ioapic_ver, res->base);
-               }
-               dev = dev_find_slot(1, PCI_DEVFN(0x1c, 0));
-               if (dev) {
-                       res = find_resource(dev, PCI_BASE_ADDRESS_0);
-                       if (res)
-                               smp_write_ioapic(mc, 4, ioapic_ver, res->base);
-               }
-               dev = dev_find_slot(4, PCI_DEVFN(0x1e, 0));
-               if (dev) {
-                       res = find_resource(dev, PCI_BASE_ADDRESS_0);
-                       if (res)
-                               smp_write_ioapic(mc, 5, ioapic_ver, res->base);
-               }
-               dev = dev_find_slot(4, PCI_DEVFN(0x1c, 0));
-               if (dev) {
-                       res = find_resource(dev, PCI_BASE_ADDRESS_0);
-                       if (res)
-                               smp_write_ioapic(mc, 8, ioapic_ver, res->base);
-               }
-       }
-
        /* Legacy Interrupts */
        mptable_add_isa_interrupts(mc, isa_bus, ioapic_id, 0);
 
index df5b968f3f5174a1ce035caf17d63d37e955d40f..2c814d9e49916bc64a1a87a442f46167c16bf78c 100644 (file)
@@ -129,40 +129,7 @@ static void *smp_write_config_table(void *v)
 
        /*I/O APICs: APIC ID Version State Address*/
        smp_write_ioapic(mc, 2, 0x20, IO_APIC_ADDR);
-       /*
-       {
-               device_t dev;
-               struct resource *res;
-               dev = dev_find_slot(1, PCI_DEVFN(0x1e,0));
-               if (dev) {
-                       res = find_resource(dev, PCI_BASE_ADDRESS_0);
-                       if (res) {
-                               smp_write_ioapic(mc, 3, 0x20, res->base);
-                       }
-               }
-               dev = dev_find_slot(1, PCI_DEVFN(0x1c,0));
-               if (dev) {
-                       res = find_resource(dev, PCI_BASE_ADDRESS_0);
-                       if (res) {
-                               smp_write_ioapic(mc, 4, 0x20, res->base);
-                       }
-               }
-                dev = dev_find_slot(4, PCI_DEVFN(0x1e,0));
-                if (dev) {
-                       res = find_resource(dev, PCI_BASE_ADDRESS_0);
-                       if (res) {
-                               smp_write_ioapic(mc, 5, 0x20, res->base);
-                       }
-                }
-                dev = dev_find_slot(4, PCI_DEVFN(0x1c,0));
-                if (dev) {
-                       res = find_resource(dev, PCI_BASE_ADDRESS_0);
-                       if (res) {
-                               smp_write_ioapic(mc, 8, 0x20, res->base);
-                       }
-                }
-       }
-       */
+
        mptable_add_isa_interrupts(mc, bus_isa, IO_APIC0, 0);
 
        /*Local Ints:   Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#*/
index 9ffa2b1765758108a0136ec0c259a5dc21800335..dc8ef2780c86353c14fabab95fb664efc6876e63 100644 (file)
@@ -21,38 +21,7 @@ static void *smp_write_config_table(void *v)
 
 /*I/O APICs:   APIC ID Version State           Address*/
        smp_write_ioapic(mc, 2, 0x20, IO_APIC_ADDR);
-       {
-               device_t dev;
-               struct resource *res;
-               dev = dev_find_slot(1, PCI_DEVFN(0x1e,0));
-               if (dev) {
-                       res = find_resource(dev, PCI_BASE_ADDRESS_0);
-                       if (res) {
-                               smp_write_ioapic(mc, 3, 0x20, res->base);
-                       }
-               }
-               dev = dev_find_slot(1, PCI_DEVFN(0x1c,0));
-               if (dev) {
-                       res = find_resource(dev, PCI_BASE_ADDRESS_0);
-                       if (res) {
-                               smp_write_ioapic(mc, 4, 0x20, res->base);
-                       }
-               }
-                dev = dev_find_slot(4, PCI_DEVFN(0x1e,0));
-                if (dev) {
-                       res = find_resource(dev, PCI_BASE_ADDRESS_0);
-                       if (res) {
-                               smp_write_ioapic(mc, 5, 0x20, res->base);
-                       }
-                }
-                dev = dev_find_slot(4, PCI_DEVFN(0x1c,0));
-                if (dev) {
-                       res = find_resource(dev, PCI_BASE_ADDRESS_0);
-                       if (res) {
-                               smp_write_ioapic(mc, 8, 0x20, res->base);
-                       }
-                }
-       }
+
        mptable_add_isa_interrupts(mc, isa_bus, 0x2, 0);
 
 /*I/O Ints:    Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN# */
index b713ad54cf8474c035ed7ebe3662160d1f2bf0c5..ce775dd71277540bf9f7e7a85d2178d5e45ef7b9 100644 (file)
@@ -320,9 +320,7 @@ char *preamble[] = {
 };
 
 char *postamble[] = {
-"      /* There is no extension information... */",
-"",
-"      /* Compute the checksums */",
+"      /* Compute the checksums. */",
 "      mc->mpe_checksum = smp_compute_checksum(smp_next_mpc_entry(mc), mc->mpe_length);",
 "      mc->mpc_checksum = smp_compute_checksum(mc, mc->mpc_length);",
 "      printk(BIOS_DEBUG, \"Wrote the mp table end at: %p - %p\\n\",",
@@ -341,38 +339,7 @@ char *postamble[] = {
 
 char *ioapic_code[] = {
 "      smp_write_ioapic(mc, 2, 0x20, IO_APIC_ADDR);",
-"      {",
-"              device_t dev;",
-"              struct resource *res;",
-"              dev = dev_find_slot(1, PCI_DEVFN(0x1e,0));",
-"              if (dev) {",
-"                      res = find_resource(dev, PCI_BASE_ADDRESS_0);",
-"                      if (res) {",
-"                              smp_write_ioapic(mc, 3, 0x20, res->base);",
-"                      }",
-"              }",
-"              dev = dev_find_slot(1, PCI_DEVFN(0x1c,0));",
-"              if (dev) {",
-"                      res = find_resource(dev, PCI_BASE_ADDRESS_0);",
-"                      if (res) {",
-"                              smp_write_ioapic(mc, 4, 0x20, res->base);",
-"                      }",
-"              }",
-"                dev = dev_find_slot(4, PCI_DEVFN(0x1e,0));",
-"                if (dev) {",
-"                      res = find_resource(dev, PCI_BASE_ADDRESS_0);",
-"                      if (res) {",
-"                              smp_write_ioapic(mc, 5, 0x20, res->base);",
-"                      }",
-"                }",
-"                dev = dev_find_slot(4, PCI_DEVFN(0x1c,0));",
-"                if (dev) {",
-"                      res = find_resource(dev, PCI_BASE_ADDRESS_0);",
-"                      if (res) {",
-"                              smp_write_ioapic(mc, 8, 0x20, res->base);",
-"                      }",
-"                }",
-"      }",
+"      /* TODO: If you have multiple IOAPICs, add them here. */",
 0
 };
 static void