[coreboot] [commit] r6105 - in trunk/src/mainboard: amd/dbm690t amd/mahogany amd/mahogany_fam10 amd/pistachio amd/tilapia_fam10 asrock/939a785gmh asus/m4a785-m gigabyte/ma785gmt gigabyte/ma78gm iei/kino-780am...

repository service svn at coreboot.org
Sun Nov 21 15:40:10 CET 2010


Author: oxygene
Date: Sun Nov 21 15:40:09 2010
New Revision: 6105
URL: https://tracker.coreboot.org/trac/coreboot/changeset/6105

Log:
Convert boards to use mptable_write_buses.

Signed-off-by: Patrick Georgi <patrick at georgi-clan.de>
Acked-by: Uwe Hermann <uwe at hermann-uwe.de>

Modified:
   trunk/src/mainboard/amd/dbm690t/get_bus_conf.c
   trunk/src/mainboard/amd/dbm690t/irq_tables.c
   trunk/src/mainboard/amd/dbm690t/mptable.c
   trunk/src/mainboard/amd/mahogany/get_bus_conf.c
   trunk/src/mainboard/amd/mahogany/irq_tables.c
   trunk/src/mainboard/amd/mahogany/mptable.c
   trunk/src/mainboard/amd/mahogany_fam10/get_bus_conf.c
   trunk/src/mainboard/amd/mahogany_fam10/irq_tables.c
   trunk/src/mainboard/amd/mahogany_fam10/mptable.c
   trunk/src/mainboard/amd/pistachio/get_bus_conf.c
   trunk/src/mainboard/amd/pistachio/irq_tables.c
   trunk/src/mainboard/amd/pistachio/mptable.c
   trunk/src/mainboard/amd/tilapia_fam10/get_bus_conf.c
   trunk/src/mainboard/amd/tilapia_fam10/irq_tables.c
   trunk/src/mainboard/amd/tilapia_fam10/mptable.c
   trunk/src/mainboard/asrock/939a785gmh/get_bus_conf.c
   trunk/src/mainboard/asrock/939a785gmh/irq_tables.c
   trunk/src/mainboard/asrock/939a785gmh/mptable.c
   trunk/src/mainboard/asus/m4a785-m/get_bus_conf.c
   trunk/src/mainboard/asus/m4a785-m/mptable.c
   trunk/src/mainboard/gigabyte/ma785gmt/get_bus_conf.c
   trunk/src/mainboard/gigabyte/ma785gmt/irq_tables.c
   trunk/src/mainboard/gigabyte/ma785gmt/mptable.c
   trunk/src/mainboard/gigabyte/ma78gm/get_bus_conf.c
   trunk/src/mainboard/gigabyte/ma78gm/irq_tables.c
   trunk/src/mainboard/gigabyte/ma78gm/mptable.c
   trunk/src/mainboard/iei/kino-780am2-fam10/get_bus_conf.c
   trunk/src/mainboard/iei/kino-780am2-fam10/irq_tables.c
   trunk/src/mainboard/iei/kino-780am2-fam10/mptable.c
   trunk/src/mainboard/jetway/pa78vm5/get_bus_conf.c
   trunk/src/mainboard/jetway/pa78vm5/irq_tables.c
   trunk/src/mainboard/jetway/pa78vm5/mptable.c
   trunk/src/mainboard/kontron/kt690/get_bus_conf.c
   trunk/src/mainboard/kontron/kt690/irq_tables.c
   trunk/src/mainboard/kontron/kt690/mptable.c
   trunk/src/mainboard/technexion/tim5690/get_bus_conf.c
   trunk/src/mainboard/technexion/tim5690/irq_tables.c
   trunk/src/mainboard/technexion/tim5690/mptable.c
   trunk/src/mainboard/technexion/tim8690/get_bus_conf.c
   trunk/src/mainboard/technexion/tim8690/irq_tables.c
   trunk/src/mainboard/technexion/tim8690/mptable.c

Modified: trunk/src/mainboard/amd/dbm690t/get_bus_conf.c
==============================================================================
--- trunk/src/mainboard/amd/dbm690t/get_bus_conf.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/amd/dbm690t/get_bus_conf.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -32,7 +32,6 @@
 /* Global variables for MB layouts and these will be shared by irqtable mptable
 * and acpi_tables busnum is default.
 */
-u8 bus_isa;
 u8 bus_rs690[8];
 u8 bus_sb600[2];
 u32 apicid_sb600;
@@ -54,8 +53,6 @@
 	0x20202020,
 };
 
-u32 bus_type[256];
-
 u32 sbdn_rs690;
 u32 sbdn_sb600;
 
@@ -67,7 +64,7 @@
 {
 	u32 apicid_base;
 	device_t dev;
-	int i, j;
+	int i;
 
 	if (get_bus_conf_done == 1)
 		return;		/* do it only once */
@@ -92,25 +89,13 @@
 		bus_rs690[i] = 0;
 	}
 
-	for (i = 0; i < 256; i++) {
-		bus_type[i] = 0; /* default ISA bus. */
-	}
-
-	bus_type[0] = 1;	/* pci */
-
 	bus_rs690[0] = (sysconf.pci1234[0] >> 16) & 0xff;
 	bus_sb600[0] = bus_rs690[0];
 
-	bus_type[bus_rs690[0]] = 1;
-
 	/* sb600 */
 	dev = dev_find_slot(bus_sb600[0], PCI_DEVFN(sbdn_sb600 + 0x14, 4));
 	if (dev) {
 		bus_sb600[1] = pci_read_config8(dev, PCI_SECONDARY_BUS);
-		bus_isa = pci_read_config8(dev, PCI_SUBORDINATE_BUS);
-		bus_isa++;
-		for (j = bus_sb600[1]; j < bus_isa; j++)
-			bus_type[j] = 1;
 	}
 
 	/* rs690 */
@@ -118,16 +103,10 @@
 		dev = dev_find_slot(bus_rs690[0], PCI_DEVFN(sbdn_rs690 + i, 0));
 		if (dev) {
 			bus_rs690[i] = pci_read_config8(dev, PCI_SECONDARY_BUS);
-			if(255 != bus_rs690[i]) {
-				bus_isa = pci_read_config8(dev, PCI_SUBORDINATE_BUS);
-				bus_isa++;
-				bus_type[bus_rs690[i]] = 1; /* PCI bus. */
-			}
 		}
 	}
 
 	/* I/O APICs:   APIC ID Version State   Address */
-	bus_isa = 10;
 #if CONFIG_LOGICAL_CPUS==1
 	apicid_base = get_apicid_base(1);
 #else

Modified: trunk/src/mainboard/amd/dbm690t/irq_tables.c
==============================================================================
--- trunk/src/mainboard/amd/dbm690t/irq_tables.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/amd/dbm690t/irq_tables.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -51,7 +51,6 @@
 	pirq_info->slot = slot;
 	pirq_info->rfu = rfu;
 }
-extern u8 bus_isa;
 extern u8 bus_rs690[8];
 extern u8 bus_sb600[2];
 extern unsigned long sbdn_sb600;

Modified: trunk/src/mainboard/amd/dbm690t/mptable.c
==============================================================================
--- trunk/src/mainboard/amd/dbm690t/mptable.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/amd/dbm690t/mptable.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -25,20 +25,18 @@
 #include <stdint.h>
 #include <cpu/amd/amdk8_sysconf.h>
 
-extern u8 bus_isa;
 extern u8 bus_rs690[8];
 extern u8 bus_sb600[2];
 
 extern u32 apicid_sb600;
 
-extern u32 bus_type[256];
 extern u32 sbdn_rs690;
 extern u32 sbdn_sb600;
 
 static void *smp_write_config_table(void *v)
 {
 	struct mp_config_table *mc;
-	int j;
+	int bus_isa;
 
 	mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
 
@@ -48,12 +46,7 @@
 
 	get_bus_conf();
 
-	/* Bus:         Bus ID  Type */
-	/* define bus and isa numbers */
-	for (j = 0; j < bus_isa; j++) {
-		smp_write_bus(mc, j, (char *)"PCI   ");
-	}
-	smp_write_bus(mc, bus_isa, (char *)"ISA   ");
+	mptable_write_buses(mc, NULL, &bus_isa);
 
 	/* I/O APICs:   APIC ID Version State   Address */
 	{

Modified: trunk/src/mainboard/amd/mahogany/get_bus_conf.c
==============================================================================
--- trunk/src/mainboard/amd/mahogany/get_bus_conf.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/amd/mahogany/get_bus_conf.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -32,7 +32,6 @@
 /* Global variables for MB layouts and these will be shared by irqtable mptable
 * and acpi_tables busnum is default.
 */
-u8 bus_isa;
 u8 bus_rs780[11];
 u8 bus_sb700[2];
 u32 apicid_sb700;
@@ -54,8 +53,6 @@
 	0x20202020,
 };
 
-u32 bus_type[256];
-
 u32 sbdn_rs780;
 u32 sbdn_sb700;
 
@@ -67,7 +64,7 @@
 {
 	u32 apicid_base;
 	device_t dev;
-	int i, j;
+	int i;
 
 	if (get_bus_conf_done == 1)
 		return;		/* do it only once */
@@ -92,25 +89,13 @@
 		bus_rs780[i] = 0;
 	}
 
-	for (i = 0; i < 256; i++) {
-		bus_type[i] = 0; /* default ISA bus. */
-	}
-
-	bus_type[0] = 1;	/* pci */
-
 	bus_rs780[0] = (sysconf.pci1234[0] >> 16) & 0xff;
 	bus_sb700[0] = bus_rs780[0];
 
-	bus_type[bus_rs780[0]] = 1;
-
 	/* sb700 */
 	dev = dev_find_slot(bus_sb700[0], PCI_DEVFN(sbdn_sb700 + 0x14, 4));
 	if (dev) {
 		bus_sb700[1] = pci_read_config8(dev, PCI_SECONDARY_BUS);
-		bus_isa = pci_read_config8(dev, PCI_SUBORDINATE_BUS);
-		bus_isa++;
-		for (j = bus_sb700[1]; j < bus_isa; j++)
-			bus_type[j] = 1;
 	}
 
 	/* rs780 */
@@ -118,16 +103,10 @@
 		dev = dev_find_slot(bus_rs780[0], PCI_DEVFN(sbdn_rs780 + i, 0));
 		if (dev) {
 			bus_rs780[i] = pci_read_config8(dev, PCI_SECONDARY_BUS);
-			if(255 != bus_rs780[i]) {
-				bus_isa = pci_read_config8(dev, PCI_SUBORDINATE_BUS);
-				bus_isa++;
-				bus_type[bus_rs780[i]] = 1; /* PCI bus. */
-			}
 		}
 	}
 
 	/* I/O APICs:   APIC ID Version State   Address */
-	bus_isa = 10;
 #if CONFIG_LOGICAL_CPUS==1
 	apicid_base = get_apicid_base(1);
 #else

Modified: trunk/src/mainboard/amd/mahogany/irq_tables.c
==============================================================================
--- trunk/src/mainboard/amd/mahogany/irq_tables.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/amd/mahogany/irq_tables.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -51,7 +51,6 @@
 	pirq_info->slot = slot;
 	pirq_info->rfu = rfu;
 }
-extern u8 bus_isa;
 extern u8 bus_rs780[8];
 extern u8 bus_sb700[2];
 extern unsigned long sbdn_sb700;

Modified: trunk/src/mainboard/amd/mahogany/mptable.c
==============================================================================
--- trunk/src/mainboard/amd/mahogany/mptable.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/amd/mahogany/mptable.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -26,20 +26,18 @@
 #include <stdint.h>
 #include <cpu/amd/amdk8_sysconf.h>
 
-extern u8 bus_isa;
 extern u8 bus_rs780[11];
 extern u8 bus_sb700[2];
 
 extern u32 apicid_sb700;
 
-extern u32 bus_type[256];
 extern u32 sbdn_rs780;
 extern u32 sbdn_sb700;
 
 static void *smp_write_config_table(void *v)
 {
 	struct mp_config_table *mc;
-	int j;
+	int bus_isa;
 
 	mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
 
@@ -49,12 +47,7 @@
 
 	get_bus_conf();
 
-	/* Bus:         Bus ID  Type */
-	/* define bus and isa numbers */
-	for (j = 0; j < bus_isa; j++) {
-		smp_write_bus(mc, j, (char *)"PCI   ");
-	}
-	smp_write_bus(mc, bus_isa, (char *)"ISA   ");
+	mptable_write_buses(mc, NULL, &bus_isa);
 
 	/* I/O APICs:   APIC ID Version State   Address */
 	{

Modified: trunk/src/mainboard/amd/mahogany_fam10/get_bus_conf.c
==============================================================================
--- trunk/src/mainboard/amd/mahogany_fam10/get_bus_conf.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/amd/mahogany_fam10/get_bus_conf.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -32,7 +32,6 @@
 /* Global variables for MB layouts and these will be shared by irqtable mptable
 * and acpi_tables busnum is default.
 */
-u8 bus_isa;
 u8 bus_rs780[11];
 u8 bus_sb700[2];
 u32 apicid_sb700;
@@ -54,8 +53,6 @@
 	0x20202020,
 };
 
-u32 bus_type[256];
-
 u32 sbdn_rs780;
 u32 sbdn_sb700;
 
@@ -67,7 +64,7 @@
 {
 	u32 apicid_base;
 	device_t dev;
-	int i, j;
+	int i;
 
 	if (get_bus_conf_done == 1)
 		return;		/* do it only once */
@@ -92,25 +89,13 @@
 		bus_rs780[i] = 0;
 	}
 
-	for (i = 0; i < 256; i++) {
-		bus_type[i] = 0; /* default ISA bus. */
-	}
-
-	bus_type[0] = 1;	/* pci */
-
 	bus_rs780[0] = (sysconf.pci1234[0] >> 16) & 0xff;
 	bus_sb700[0] = bus_rs780[0];
 
-	bus_type[bus_rs780[0]] = 1;
-
 	/* sb700 */
 	dev = dev_find_slot(bus_sb700[0], PCI_DEVFN(sbdn_sb700 + 0x14, 4));
 	if (dev) {
 		bus_sb700[1] = pci_read_config8(dev, PCI_SECONDARY_BUS);
-		bus_isa = pci_read_config8(dev, PCI_SUBORDINATE_BUS);
-		bus_isa++;
-		for (j = bus_sb700[1]; j < bus_isa; j++)
-			bus_type[j] = 1;
 	}
 
 	/* rs780 */
@@ -118,16 +103,10 @@
 		dev = dev_find_slot(bus_rs780[0], PCI_DEVFN(sbdn_rs780 + i, 0));
 		if (dev) {
 			bus_rs780[i] = pci_read_config8(dev, PCI_SECONDARY_BUS);
-			if(255 != bus_rs780[i]) {
-				bus_isa = pci_read_config8(dev, PCI_SUBORDINATE_BUS);
-				bus_isa++;
-				bus_type[bus_rs780[i]] = 1; /* PCI bus. */
-			}
 		}
 	}
 
 	/* I/O APICs:   APIC ID Version State   Address */
-	bus_isa = 10;
 #if CONFIG_LOGICAL_CPUS==1
 	apicid_base = get_apicid_base(1);
 #else

Modified: trunk/src/mainboard/amd/mahogany_fam10/irq_tables.c
==============================================================================
--- trunk/src/mainboard/amd/mahogany_fam10/irq_tables.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/amd/mahogany_fam10/irq_tables.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -45,7 +45,6 @@
 	pirq_info->slot = slot;
 	pirq_info->rfu = rfu;
 }
-extern u8 bus_isa;
 extern u8 bus_rs780[8];
 extern u8 bus_sb700[2];
 extern unsigned long sbdn_sb700;

Modified: trunk/src/mainboard/amd/mahogany_fam10/mptable.c
==============================================================================
--- trunk/src/mainboard/amd/mahogany_fam10/mptable.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/amd/mahogany_fam10/mptable.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -25,20 +25,18 @@
 #include <stdint.h>
 #include <cpu/amd/amdfam10_sysconf.h>
 
-extern u8 bus_isa;
 extern u8 bus_rs780[11];
 extern u8 bus_sb700[2];
 
 extern u32 apicid_sb700;
 
-extern u32 bus_type[256];
 extern u32 sbdn_rs780;
 extern u32 sbdn_sb700;
 
 static void *smp_write_config_table(void *v)
 {
 	struct mp_config_table *mc;
-	int j;
+	int bus_isa;
 
 	mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
 
@@ -48,12 +46,7 @@
 
 	get_bus_conf();
 
-	/* Bus:         Bus ID  Type */
-	/* define bus and isa numbers */
-	for (j = 0; j < bus_isa; j++) {
-		smp_write_bus(mc, j, (char *)"PCI   ");
-	}
-	smp_write_bus(mc, bus_isa, (char *)"ISA   ");
+	mptable_write_buses(mc, NULL, &bus_isa);
 
 	/* I/O APICs:   APIC ID Version State   Address */
 	{

Modified: trunk/src/mainboard/amd/pistachio/get_bus_conf.c
==============================================================================
--- trunk/src/mainboard/amd/pistachio/get_bus_conf.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/amd/pistachio/get_bus_conf.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -32,7 +32,6 @@
 /* Global variables for MB layouts and these will be shared by irqtable mptable
 * and acpi_tables busnum is default.
 */
-u8 bus_isa;
 u8 bus_rs690[8];
 u8 bus_sb600[2];
 u32 apicid_sb600;
@@ -54,8 +53,6 @@
 	0x20202020,
 };
 
-u32 bus_type[256];
-
 u32 sbdn_rs690;
 u32 sbdn_sb600;
 
@@ -67,7 +64,7 @@
 {
 	u32 apicid_base;
 	device_t dev;
-	int i, j;
+	int i;
 
 	if (get_bus_conf_done == 1)
 		return;		/* do it only once */
@@ -92,25 +89,13 @@
 		bus_rs690[i] = 0;
 	}
 
-	for (i = 0; i < 256; i++) {
-		bus_type[i] = 0; /* default ISA bus. */
-	}
-
-	bus_type[0] = 1;	/* pci */
-
 	bus_rs690[0] = (sysconf.pci1234[0] >> 16) & 0xff;
 	bus_sb600[0] = bus_rs690[0];
 
-	bus_type[bus_rs690[0]] = 1;
-
 	/* sb600 */
 	dev = dev_find_slot(bus_sb600[0], PCI_DEVFN(sbdn_sb600 + 0x14, 4));
 	if (dev) {
 		bus_sb600[1] = pci_read_config8(dev, PCI_SECONDARY_BUS);
-		bus_isa = pci_read_config8(dev, PCI_SUBORDINATE_BUS);
-		bus_isa++;
-		for (j = bus_sb600[1]; j < bus_isa; j++)
-			bus_type[j] = 1;
 	}
 
 	/* rs690 */
@@ -118,16 +103,10 @@
 		dev = dev_find_slot(bus_rs690[0], PCI_DEVFN(sbdn_rs690 + i, 0));
 		if (dev) {
 			bus_rs690[i] = pci_read_config8(dev, PCI_SECONDARY_BUS);
-			if(255 != bus_rs690[i]) {
-				bus_isa = pci_read_config8(dev, PCI_SUBORDINATE_BUS);
-				bus_isa++;
-				bus_type[bus_rs690[i]] = 1; /* PCI bus. */
-			}
 		}
 	}
 
 	/* I/O APICs:   APIC ID Version State   Address */
-	bus_isa = 10;
 #if CONFIG_LOGICAL_CPUS==1
 	apicid_base = get_apicid_base(1);
 #else

Modified: trunk/src/mainboard/amd/pistachio/irq_tables.c
==============================================================================
--- trunk/src/mainboard/amd/pistachio/irq_tables.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/amd/pistachio/irq_tables.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -51,7 +51,6 @@
 	pirq_info->slot = slot;
 	pirq_info->rfu = rfu;
 }
-extern u8 bus_isa;
 extern u8 bus_rs690[8];
 extern u8 bus_sb600[2];
 extern u32 sbdn_sb600;

Modified: trunk/src/mainboard/amd/pistachio/mptable.c
==============================================================================
--- trunk/src/mainboard/amd/pistachio/mptable.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/amd/pistachio/mptable.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -25,20 +25,18 @@
 #include <stdint.h>
 #include <cpu/amd/amdk8_sysconf.h>
 
-extern u8 bus_isa;
 extern u8 bus_rs690[8];
 extern u8 bus_sb600[2];
 
 extern u32 apicid_sb600;
 
-extern u32 bus_type[256];
 extern u32 sbdn_rs690;
 extern u32 sbdn_sb600;
 
 static void *smp_write_config_table(void *v)
 {
 	struct mp_config_table *mc;
-	int j;
+	int bus_isa;
 
 	mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
 
@@ -48,12 +46,7 @@
 
 	get_bus_conf();
 
-	/* Bus:         Bus ID  Type */
-	/* define bus and isa numbers */
-	for (j = 0; j < bus_isa; j++) {
-		smp_write_bus(mc, j, (char *)"PCI   ");
-	}
-	smp_write_bus(mc, bus_isa, (char *)"ISA   ");
+	mptable_write_buses(mc, NULL, &bus_isa);
 
 	/* I/O APICs:   APIC ID Version State   Address */
 	{

Modified: trunk/src/mainboard/amd/tilapia_fam10/get_bus_conf.c
==============================================================================
--- trunk/src/mainboard/amd/tilapia_fam10/get_bus_conf.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/amd/tilapia_fam10/get_bus_conf.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -32,7 +32,6 @@
 /* Global variables for MB layouts and these will be shared by irqtable mptable
 * and acpi_tables busnum is default.
 */
-u8 bus_isa;
 u8 bus_rs780[11];
 u8 bus_sb700[2];
 u32 apicid_sb700;
@@ -54,8 +53,6 @@
 	0x20202020,
 };
 
-u32 bus_type[256];
-
 u32 sbdn_rs780;
 u32 sbdn_sb700;
 
@@ -67,7 +64,7 @@
 {
 	u32 apicid_base;
 	device_t dev;
-	int i, j;
+	int i;
 
 	if (get_bus_conf_done == 1)
 		return;		/* do it only once */
@@ -92,25 +89,13 @@
 		bus_rs780[i] = 0;
 	}
 
-	for (i = 0; i < 256; i++) {
-		bus_type[i] = 0; /* default ISA bus. */
-	}
-
-	bus_type[0] = 1;	/* pci */
-
 	bus_rs780[0] = (sysconf.pci1234[0] >> 16) & 0xff;
 	bus_sb700[0] = bus_rs780[0];
 
-	bus_type[bus_rs780[0]] = 1;
-
 	/* sb700 */
 	dev = dev_find_slot(bus_sb700[0], PCI_DEVFN(sbdn_sb700 + 0x14, 4));
 	if (dev) {
 		bus_sb700[1] = pci_read_config8(dev, PCI_SECONDARY_BUS);
-		bus_isa = pci_read_config8(dev, PCI_SUBORDINATE_BUS);
-		bus_isa++;
-		for (j = bus_sb700[1]; j < bus_isa; j++)
-			bus_type[j] = 1;
 	}
 
 	/* rs780 */
@@ -118,16 +103,10 @@
 		dev = dev_find_slot(bus_rs780[0], PCI_DEVFN(sbdn_rs780 + i, 0));
 		if (dev) {
 			bus_rs780[i] = pci_read_config8(dev, PCI_SECONDARY_BUS);
-			if(255 != bus_rs780[i]) {
-				bus_isa = pci_read_config8(dev, PCI_SUBORDINATE_BUS);
-				bus_isa++;
-				bus_type[bus_rs780[i]] = 1; /* PCI bus. */
-			}
 		}
 	}
 
 	/* I/O APICs:   APIC ID Version State   Address */
-	bus_isa = 10;
 #if CONFIG_LOGICAL_CPUS==1
 	apicid_base = get_apicid_base(1);
 #else

Modified: trunk/src/mainboard/amd/tilapia_fam10/irq_tables.c
==============================================================================
--- trunk/src/mainboard/amd/tilapia_fam10/irq_tables.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/amd/tilapia_fam10/irq_tables.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -45,7 +45,6 @@
 	pirq_info->slot = slot;
 	pirq_info->rfu = rfu;
 }
-extern u8 bus_isa;
 extern u8 bus_rs780[8];
 extern u8 bus_sb700[2];
 extern unsigned long sbdn_sb700;

Modified: trunk/src/mainboard/amd/tilapia_fam10/mptable.c
==============================================================================
--- trunk/src/mainboard/amd/tilapia_fam10/mptable.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/amd/tilapia_fam10/mptable.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -25,20 +25,18 @@
 #include <stdint.h>
 #include <cpu/amd/amdfam10_sysconf.h>
 
-extern u8 bus_isa;
 extern u8 bus_rs780[11];
 extern u8 bus_sb700[2];
 
 extern u32 apicid_sb700;
 
-extern u32 bus_type[256];
 extern u32 sbdn_rs780;
 extern u32 sbdn_sb700;
 
 static void *smp_write_config_table(void *v)
 {
 	struct mp_config_table *mc;
-	int j;
+	int bus_isa;
 
 	mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
 
@@ -48,12 +46,7 @@
 
 	get_bus_conf();
 
-	/* Bus:         Bus ID  Type */
-	/* define bus and isa numbers */
-	for (j = 0; j < bus_isa; j++) {
-		smp_write_bus(mc, j, (char *)"PCI   ");
-	}
-	smp_write_bus(mc, bus_isa, (char *)"ISA   ");
+	mptable_write_buses(mc, NULL, &bus_isa);
 
 	/* I/O APICs:   APIC ID Version State   Address */
 	{

Modified: trunk/src/mainboard/asrock/939a785gmh/get_bus_conf.c
==============================================================================
--- trunk/src/mainboard/asrock/939a785gmh/get_bus_conf.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/asrock/939a785gmh/get_bus_conf.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -32,7 +32,6 @@
 /* Global variables for MB layouts and these will be shared by irqtable mptable
 * and acpi_tables busnum is default.
 */
-u8 bus_isa;
 u8 bus_rs780[11];
 u8 bus_sb700[2];
 u32 apicid_sb700;
@@ -54,8 +53,6 @@
 	0x20202020,
 };
 
-u32 bus_type[256];
-
 u32 sbdn_rs780;
 u32 sbdn_sb700;
 
@@ -67,7 +64,7 @@
 {
 	u32 apicid_base;
 	device_t dev;
-	int i, j;
+	int i;
 
 	if (get_bus_conf_done == 1)
 		return;		/* do it only once */
@@ -92,25 +89,13 @@
 		bus_rs780[i] = 0;
 	}
 
-	for (i = 0; i < 256; i++) {
-		bus_type[i] = 0; /* default ISA bus. */
-	}
-
-	bus_type[0] = 1;	/* pci */
-
 	bus_rs780[0] = (sysconf.pci1234[0] >> 16) & 0xff;
 	bus_sb700[0] = bus_rs780[0];
 
-	bus_type[bus_rs780[0]] = 1;
-
 	/* sb700 */
 	dev = dev_find_slot(bus_sb700[0], PCI_DEVFN(sbdn_sb700 + 0x14, 4));
 	if (dev) {
 		bus_sb700[1] = pci_read_config8(dev, PCI_SECONDARY_BUS);
-		bus_isa = pci_read_config8(dev, PCI_SUBORDINATE_BUS);
-		bus_isa++;
-		for (j = bus_sb700[1]; j < bus_isa; j++)
-			bus_type[j] = 1;
 	}
 
 	/* rs780 */
@@ -118,16 +103,10 @@
 		dev = dev_find_slot(bus_rs780[0], PCI_DEVFN(sbdn_rs780 + i, 0));
 		if (dev) {
 			bus_rs780[i] = pci_read_config8(dev, PCI_SECONDARY_BUS);
-			if(255 != bus_rs780[i]) {
-				bus_isa = pci_read_config8(dev, PCI_SUBORDINATE_BUS);
-				bus_isa++;
-				bus_type[bus_rs780[i]] = 1; /* PCI bus. */
-			}
 		}
 	}
 
 	/* I/O APICs:   APIC ID Version State   Address */
-	bus_isa = 10;
 #if CONFIG_LOGICAL_CPUS==1
 	apicid_base = get_apicid_base(1);
 #else

Modified: trunk/src/mainboard/asrock/939a785gmh/irq_tables.c
==============================================================================
--- trunk/src/mainboard/asrock/939a785gmh/irq_tables.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/asrock/939a785gmh/irq_tables.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -51,7 +51,6 @@
 	pirq_info->slot = slot;
 	pirq_info->rfu = rfu;
 }
-extern u8 bus_isa;
 extern u8 bus_rs780[8];
 extern u8 bus_sb700[2];
 extern unsigned long sbdn_sb700;

Modified: trunk/src/mainboard/asrock/939a785gmh/mptable.c
==============================================================================
--- trunk/src/mainboard/asrock/939a785gmh/mptable.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/asrock/939a785gmh/mptable.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -25,20 +25,18 @@
 #include <stdint.h>
 #include <cpu/amd/amdk8_sysconf.h>
 
-extern u8 bus_isa;
 extern u8 bus_rs780[11];
 extern u8 bus_sb700[2];
 
 extern u32 apicid_sb700;
 
-extern u32 bus_type[256];
 extern u32 sbdn_rs780;
 extern u32 sbdn_sb700;
 
 static void *smp_write_config_table(void *v)
 {
 	struct mp_config_table *mc;
-	int j;
+	int bus_isa;
 
 	mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
 
@@ -48,12 +46,7 @@
 
 	get_bus_conf();
 
-	/* Bus:         Bus ID  Type */
-	/* define bus and isa numbers */
-	for (j = 0; j < bus_isa; j++) {
-		smp_write_bus(mc, j, (char *)"PCI   ");
-	}
-	smp_write_bus(mc, bus_isa, (char *)"ISA   ");
+	mptable_write_buses(mc, NULL, &bus_isa);
 
 	/* I/O APICs:   APIC ID Version State   Address */
 	{

Modified: trunk/src/mainboard/asus/m4a785-m/get_bus_conf.c
==============================================================================
--- trunk/src/mainboard/asus/m4a785-m/get_bus_conf.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/asus/m4a785-m/get_bus_conf.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -32,7 +32,6 @@
 /* Global variables for MB layouts and these will be shared by irqtable mptable
 * and acpi_tables busnum is default.
 */
-u8 bus_isa;
 u8 bus_rs780[11];
 u8 bus_sb700[2];
 u32 apicid_sb700;
@@ -54,8 +53,6 @@
 	0x20202020,
 };
 
-u32 bus_type[256];
-
 u32 sbdn_rs780;
 u32 sbdn_sb700;
 
@@ -67,7 +64,7 @@
 {
 	u32 apicid_base;
 	device_t dev;
-	int i, j;
+	int i;
 
 	if (get_bus_conf_done == 1)
 		return;		/* do it only once */
@@ -92,25 +89,13 @@
 		bus_rs780[i] = 0;
 	}
 
-	for (i = 0; i < 256; i++) {
-		bus_type[i] = 0; /* default ISA bus. */
-	}
-
-	bus_type[0] = 1;	/* pci */
-
 	bus_rs780[0] = (sysconf.pci1234[0] >> 16) & 0xff;
 	bus_sb700[0] = bus_rs780[0];
 
-	bus_type[bus_rs780[0]] = 1;
-
 	/* sb700 */
 	dev = dev_find_slot(bus_sb700[0], PCI_DEVFN(sbdn_sb700 + 0x14, 4));
 	if (dev) {
 		bus_sb700[1] = pci_read_config8(dev, PCI_SECONDARY_BUS);
-		bus_isa = pci_read_config8(dev, PCI_SUBORDINATE_BUS);
-		bus_isa++;
-		for (j = bus_sb700[1]; j < bus_isa; j++)
-			bus_type[j] = 1;
 	}
 
 	/* rs780 */
@@ -118,16 +103,10 @@
 		dev = dev_find_slot(bus_rs780[0], PCI_DEVFN(sbdn_rs780 + i, 0));
 		if (dev) {
 			bus_rs780[i] = pci_read_config8(dev, PCI_SECONDARY_BUS);
-			if(255 != bus_rs780[i]) {
-				bus_isa = pci_read_config8(dev, PCI_SUBORDINATE_BUS);
-				bus_isa++;
-				bus_type[bus_rs780[i]] = 1; /* PCI bus. */
-			}
 		}
 	}
 
 	/* I/O APICs:   APIC ID Version State   Address */
-	bus_isa = 10;
 #if CONFIG_LOGICAL_CPUS==1
 	apicid_base = get_apicid_base(1);
 #else

Modified: trunk/src/mainboard/asus/m4a785-m/mptable.c
==============================================================================
--- trunk/src/mainboard/asus/m4a785-m/mptable.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/asus/m4a785-m/mptable.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -25,20 +25,18 @@
 #include <stdint.h>
 #include <cpu/amd/amdfam10_sysconf.h>
 
-extern u8 bus_isa;
 extern u8 bus_rs780[11];
 extern u8 bus_sb700[2];
 
 extern u32 apicid_sb700;
 
-extern u32 bus_type[256];
 extern u32 sbdn_rs780;
 extern u32 sbdn_sb700;
 
 static void *smp_write_config_table(void *v)
 {
 	struct mp_config_table *mc;
-	int j;
+	int bus_isa;
 
 	mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
 
@@ -48,12 +46,7 @@
 
 	get_bus_conf();
 
-	/* Bus:         Bus ID  Type */
-	/* define bus and isa numbers */
-	for (j = 0; j < bus_isa; j++) {
-		smp_write_bus(mc, j, (char *)"PCI   ");
-	}
-	smp_write_bus(mc, bus_isa, (char *)"ISA   ");
+	mptable_write_buses(mc, NULL, &bus_isa);
 
 	/* I/O APICs:   APIC ID Version State   Address */
 	{

Modified: trunk/src/mainboard/gigabyte/ma785gmt/get_bus_conf.c
==============================================================================
--- trunk/src/mainboard/gigabyte/ma785gmt/get_bus_conf.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/gigabyte/ma785gmt/get_bus_conf.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -32,7 +32,6 @@
 /* Global variables for MB layouts and these will be shared by irqtable mptable
 * and acpi_tables busnum is default.
 */
-u8 bus_isa;
 u8 bus_rs780[11];
 u8 bus_sb700[2];
 u32 apicid_sb700;
@@ -54,8 +53,6 @@
 	0x20202020,
 };
 
-u32 bus_type[256];
-
 u32 sbdn_rs780;
 u32 sbdn_sb700;
 
@@ -67,7 +64,7 @@
 {
 	u32 apicid_base;
 	device_t dev;
-	int i, j;
+	int i;
 
 	if (get_bus_conf_done == 1)
 		return;		/* do it only once */
@@ -92,25 +89,13 @@
 		bus_rs780[i] = 0;
 	}
 
-	for (i = 0; i < 256; i++) {
-		bus_type[i] = 0; /* default ISA bus. */
-	}
-
-	bus_type[0] = 1;	/* pci */
-
 	bus_rs780[0] = (sysconf.pci1234[0] >> 16) & 0xff;
 	bus_sb700[0] = bus_rs780[0];
 
-	bus_type[bus_rs780[0]] = 1;
-
 	/* sb700 */
 	dev = dev_find_slot(bus_sb700[0], PCI_DEVFN(sbdn_sb700 + 0x14, 4));
 	if (dev) {
 		bus_sb700[1] = pci_read_config8(dev, PCI_SECONDARY_BUS);
-		bus_isa = pci_read_config8(dev, PCI_SUBORDINATE_BUS);
-		bus_isa++;
-		for (j = bus_sb700[1]; j < bus_isa; j++)
-			bus_type[j] = 1;
 	}
 
 	/* rs780 */
@@ -118,16 +103,10 @@
 		dev = dev_find_slot(bus_rs780[0], PCI_DEVFN(sbdn_rs780 + i, 0));
 		if (dev) {
 			bus_rs780[i] = pci_read_config8(dev, PCI_SECONDARY_BUS);
-			if(255 != bus_rs780[i]) {
-				bus_isa = pci_read_config8(dev, PCI_SUBORDINATE_BUS);
-				bus_isa++;
-				bus_type[bus_rs780[i]] = 1; /* PCI bus. */
-			}
 		}
 	}
 
 	/* I/O APICs:   APIC ID Version State   Address */
-	bus_isa = 10;
 #if CONFIG_LOGICAL_CPUS==1
 	apicid_base = get_apicid_base(1);
 #else

Modified: trunk/src/mainboard/gigabyte/ma785gmt/irq_tables.c
==============================================================================
--- trunk/src/mainboard/gigabyte/ma785gmt/irq_tables.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/gigabyte/ma785gmt/irq_tables.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -45,7 +45,6 @@
 	pirq_info->slot = slot;
 	pirq_info->rfu = rfu;
 }
-extern u8 bus_isa;
 extern u8 bus_rs780[8];
 extern u8 bus_sb700[2];
 extern unsigned long sbdn_sb700;

Modified: trunk/src/mainboard/gigabyte/ma785gmt/mptable.c
==============================================================================
--- trunk/src/mainboard/gigabyte/ma785gmt/mptable.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/gigabyte/ma785gmt/mptable.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -25,20 +25,18 @@
 #include <stdint.h>
 #include <cpu/amd/amdfam10_sysconf.h>
 
-extern u8 bus_isa;
 extern u8 bus_rs780[11];
 extern u8 bus_sb700[2];
 
 extern u32 apicid_sb700;
 
-extern u32 bus_type[256];
 extern u32 sbdn_rs780;
 extern u32 sbdn_sb700;
 
 static void *smp_write_config_table(void *v)
 {
 	struct mp_config_table *mc;
-	int j;
+	int bus_isa;
 
 	mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
 
@@ -48,12 +46,7 @@
 
 	get_bus_conf();
 
-	/* Bus:         Bus ID  Type */
-	/* define bus and isa numbers */
-	for (j = 0; j < bus_isa; j++) {
-		smp_write_bus(mc, j, (char *)"PCI   ");
-	}
-	smp_write_bus(mc, bus_isa, (char *)"ISA   ");
+	mptable_write_buses(mc, NULL, &bus_isa);
 
 	/* I/O APICs:   APIC ID Version State   Address */
 	{

Modified: trunk/src/mainboard/gigabyte/ma78gm/get_bus_conf.c
==============================================================================
--- trunk/src/mainboard/gigabyte/ma78gm/get_bus_conf.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/gigabyte/ma78gm/get_bus_conf.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -32,7 +32,6 @@
 /* Global variables for MB layouts and these will be shared by irqtable mptable
 * and acpi_tables busnum is default.
 */
-u8 bus_isa;
 u8 bus_rs780[11];
 u8 bus_sb700[2];
 u32 apicid_sb700;
@@ -54,8 +53,6 @@
 	0x20202020,
 };
 
-u32 bus_type[256];
-
 u32 sbdn_rs780;
 u32 sbdn_sb700;
 
@@ -67,7 +64,7 @@
 {
 	u32 apicid_base;
 	device_t dev;
-	int i, j;
+	int i;
 
 	if (get_bus_conf_done == 1)
 		return;		/* do it only once */
@@ -92,25 +89,13 @@
 		bus_rs780[i] = 0;
 	}
 
-	for (i = 0; i < 256; i++) {
-		bus_type[i] = 0; /* default ISA bus. */
-	}
-
-	bus_type[0] = 1;	/* pci */
-
 	bus_rs780[0] = (sysconf.pci1234[0] >> 16) & 0xff;
 	bus_sb700[0] = bus_rs780[0];
 
-	bus_type[bus_rs780[0]] = 1;
-
 	/* sb700 */
 	dev = dev_find_slot(bus_sb700[0], PCI_DEVFN(sbdn_sb700 + 0x14, 4));
 	if (dev) {
 		bus_sb700[1] = pci_read_config8(dev, PCI_SECONDARY_BUS);
-		bus_isa = pci_read_config8(dev, PCI_SUBORDINATE_BUS);
-		bus_isa++;
-		for (j = bus_sb700[1]; j < bus_isa; j++)
-			bus_type[j] = 1;
 	}
 
 	/* rs780 */
@@ -118,16 +103,10 @@
 		dev = dev_find_slot(bus_rs780[0], PCI_DEVFN(sbdn_rs780 + i, 0));
 		if (dev) {
 			bus_rs780[i] = pci_read_config8(dev, PCI_SECONDARY_BUS);
-			if(255 != bus_rs780[i]) {
-				bus_isa = pci_read_config8(dev, PCI_SUBORDINATE_BUS);
-				bus_isa++;
-				bus_type[bus_rs780[i]] = 1; /* PCI bus. */
-			}
 		}
 	}
 
 	/* I/O APICs:   APIC ID Version State   Address */
-	bus_isa = 10;
 #if CONFIG_LOGICAL_CPUS==1
 	apicid_base = get_apicid_base(1);
 #else

Modified: trunk/src/mainboard/gigabyte/ma78gm/irq_tables.c
==============================================================================
--- trunk/src/mainboard/gigabyte/ma78gm/irq_tables.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/gigabyte/ma78gm/irq_tables.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -45,7 +45,6 @@
 	pirq_info->slot = slot;
 	pirq_info->rfu = rfu;
 }
-extern u8 bus_isa;
 extern u8 bus_rs780[8];
 extern u8 bus_sb700[2];
 extern unsigned long sbdn_sb700;

Modified: trunk/src/mainboard/gigabyte/ma78gm/mptable.c
==============================================================================
--- trunk/src/mainboard/gigabyte/ma78gm/mptable.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/gigabyte/ma78gm/mptable.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -25,20 +25,18 @@
 #include <stdint.h>
 #include <cpu/amd/amdfam10_sysconf.h>
 
-extern u8 bus_isa;
 extern u8 bus_rs780[11];
 extern u8 bus_sb700[2];
 
 extern u32 apicid_sb700;
 
-extern u32 bus_type[256];
 extern u32 sbdn_rs780;
 extern u32 sbdn_sb700;
 
 static void *smp_write_config_table(void *v)
 {
 	struct mp_config_table *mc;
-	int j;
+	int bus_isa;
 
 	mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
 
@@ -48,12 +46,7 @@
 
 	get_bus_conf();
 
-	/* Bus:         Bus ID  Type */
-	/* define bus and isa numbers */
-	for (j = 0; j < bus_isa; j++) {
-		smp_write_bus(mc, j, (char *)"PCI   ");
-	}
-	smp_write_bus(mc, bus_isa, (char *)"ISA   ");
+	mptable_write_buses(mc, NULL, &bus_isa);
 
 	/* I/O APICs:   APIC ID Version State   Address */
 	{

Modified: trunk/src/mainboard/iei/kino-780am2-fam10/get_bus_conf.c
==============================================================================
--- trunk/src/mainboard/iei/kino-780am2-fam10/get_bus_conf.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/iei/kino-780am2-fam10/get_bus_conf.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -32,7 +32,6 @@
 /* Global variables for MB layouts and these will be shared by irqtable mptable
 * and acpi_tables busnum is default.
 */
-u8 bus_isa;
 u8 bus_rs780[11];
 u8 bus_sb700[2];
 u32 apicid_sb700;
@@ -54,8 +53,6 @@
 	0x20202020,
 };
 
-u32 bus_type[256];
-
 u32 sbdn_rs780;
 u32 sbdn_sb700;
 
@@ -67,7 +64,7 @@
 {
 	u32 apicid_base;
 	device_t dev;
-	int i, j;
+	int i;
 
 	if (get_bus_conf_done == 1)
 		return;		/* do it only once */
@@ -92,25 +89,13 @@
 		bus_rs780[i] = 0;
 	}
 
-	for (i = 0; i < 256; i++) {
-		bus_type[i] = 0; /* default ISA bus. */
-	}
-
-	bus_type[0] = 1;	/* pci */
-
 	bus_rs780[0] = (sysconf.pci1234[0] >> 16) & 0xff;
 	bus_sb700[0] = bus_rs780[0];
 
-	bus_type[bus_rs780[0]] = 1;
-
 	/* sb700 */
 	dev = dev_find_slot(bus_sb700[0], PCI_DEVFN(sbdn_sb700 + 0x14, 4));
 	if (dev) {
 		bus_sb700[1] = pci_read_config8(dev, PCI_SECONDARY_BUS);
-		bus_isa = pci_read_config8(dev, PCI_SUBORDINATE_BUS);
-		bus_isa++;
-		for (j = bus_sb700[1]; j < bus_isa; j++)
-			bus_type[j] = 1;
 	}
 
 	/* rs780 */
@@ -118,16 +103,10 @@
 		dev = dev_find_slot(bus_rs780[0], PCI_DEVFN(sbdn_rs780 + i, 0));
 		if (dev) {
 			bus_rs780[i] = pci_read_config8(dev, PCI_SECONDARY_BUS);
-			if(255 != bus_rs780[i]) {
-				bus_isa = pci_read_config8(dev, PCI_SUBORDINATE_BUS);
-				bus_isa++;
-				bus_type[bus_rs780[i]] = 1; /* PCI bus. */
-			}
 		}
 	}
 
 	/* I/O APICs:   APIC ID Version State   Address */
-	bus_isa = 10;
 #if CONFIG_LOGICAL_CPUS==1
 	apicid_base = get_apicid_base(1);
 #else

Modified: trunk/src/mainboard/iei/kino-780am2-fam10/irq_tables.c
==============================================================================
--- trunk/src/mainboard/iei/kino-780am2-fam10/irq_tables.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/iei/kino-780am2-fam10/irq_tables.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -45,7 +45,6 @@
 	pirq_info->slot = slot;
 	pirq_info->rfu = rfu;
 }
-extern u8 bus_isa;
 extern u8 bus_rs780[8];
 extern u8 bus_sb700[2];
 extern unsigned long sbdn_sb700;

Modified: trunk/src/mainboard/iei/kino-780am2-fam10/mptable.c
==============================================================================
--- trunk/src/mainboard/iei/kino-780am2-fam10/mptable.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/iei/kino-780am2-fam10/mptable.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -25,20 +25,18 @@
 #include <stdint.h>
 #include <cpu/amd/amdfam10_sysconf.h>
 
-extern u8 bus_isa;
 extern u8 bus_rs780[11];
 extern u8 bus_sb700[2];
 
 extern u32 apicid_sb700;
 
-extern u32 bus_type[256];
 extern u32 sbdn_rs780;
 extern u32 sbdn_sb700;
 
 static void *smp_write_config_table(void *v)
 {
 	struct mp_config_table *mc;
-	int j;
+	int bus_isa;
 
 	mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
 
@@ -48,12 +46,7 @@
 
 	get_bus_conf();
 
-	/* Bus:         Bus ID  Type */
-	/* define bus and isa numbers */
-	for (j = 0; j < bus_isa; j++) {
-		smp_write_bus(mc, j, (char *)"PCI   ");
-	}
-	smp_write_bus(mc, bus_isa, (char *)"ISA   ");
+	mptable_write_buses(mc, NULL, &bus_isa);
 
 	/* I/O APICs:   APIC ID Version State   Address */
 	{

Modified: trunk/src/mainboard/jetway/pa78vm5/get_bus_conf.c
==============================================================================
--- trunk/src/mainboard/jetway/pa78vm5/get_bus_conf.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/jetway/pa78vm5/get_bus_conf.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -32,7 +32,6 @@
 /* Global variables for MB layouts and these will be shared by irqtable mptable
 * and acpi_tables busnum is default.
 */
-u8 bus_isa;
 u8 bus_rs780[11];
 u8 bus_sb700[2];
 u32 apicid_sb700;
@@ -54,8 +53,6 @@
 	0x20202020,
 };
 
-u32 bus_type[256];
-
 u32 sbdn_rs780;
 u32 sbdn_sb700;
 
@@ -67,7 +64,7 @@
 {
 	u32 apicid_base;
 	device_t dev;
-	int i, j;
+	int i;
 
 	if (get_bus_conf_done == 1)
 		return;		/* do it only once */
@@ -92,25 +89,13 @@
 		bus_rs780[i] = 0;
 	}
 
-	for (i = 0; i < 256; i++) {
-		bus_type[i] = 0; /* default ISA bus. */
-	}
-
-	bus_type[0] = 1;	/* pci */
-
 	bus_rs780[0] = (sysconf.pci1234[0] >> 16) & 0xff;
 	bus_sb700[0] = bus_rs780[0];
 
-	bus_type[bus_rs780[0]] = 1;
-
 	/* sb700 */
 	dev = dev_find_slot(bus_sb700[0], PCI_DEVFN(sbdn_sb700 + 0x14, 4));
 	if (dev) {
 		bus_sb700[1] = pci_read_config8(dev, PCI_SECONDARY_BUS);
-		bus_isa = pci_read_config8(dev, PCI_SUBORDINATE_BUS);
-		bus_isa++;
-		for (j = bus_sb700[1]; j < bus_isa; j++)
-			bus_type[j] = 1;
 	}
 
 	/* rs780 */
@@ -118,16 +103,10 @@
 		dev = dev_find_slot(bus_rs780[0], PCI_DEVFN(sbdn_rs780 + i, 0));
 		if (dev) {
 			bus_rs780[i] = pci_read_config8(dev, PCI_SECONDARY_BUS);
-			if(255 != bus_rs780[i]) {
-				bus_isa = pci_read_config8(dev, PCI_SUBORDINATE_BUS);
-				bus_isa++;
-				bus_type[bus_rs780[i]] = 1; /* PCI bus. */
-			}
 		}
 	}
 
 	/* I/O APICs:   APIC ID Version State   Address */
-	bus_isa = 10;
 #if CONFIG_LOGICAL_CPUS==1
 	apicid_base = get_apicid_base(1);
 #else

Modified: trunk/src/mainboard/jetway/pa78vm5/irq_tables.c
==============================================================================
--- trunk/src/mainboard/jetway/pa78vm5/irq_tables.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/jetway/pa78vm5/irq_tables.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -45,7 +45,6 @@
 	pirq_info->slot = slot;
 	pirq_info->rfu = rfu;
 }
-extern u8 bus_isa;
 extern u8 bus_rs780[8];
 extern u8 bus_sb700[2];
 extern unsigned long sbdn_sb700;

Modified: trunk/src/mainboard/jetway/pa78vm5/mptable.c
==============================================================================
--- trunk/src/mainboard/jetway/pa78vm5/mptable.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/jetway/pa78vm5/mptable.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -26,20 +26,18 @@
 #include <stdint.h>
 #include <cpu/amd/amdfam10_sysconf.h>
 
-extern u8 bus_isa;
 extern u8 bus_rs780[11];
 extern u8 bus_sb700[2];
 
 extern u32 apicid_sb700;
 
-extern u32 bus_type[256];
 extern u32 sbdn_rs780;
 extern u32 sbdn_sb700;
 
 static void *smp_write_config_table(void *v)
 {
 	struct mp_config_table *mc;
-	int j;
+	int bus_isa;
 
 	mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
 
@@ -49,12 +47,7 @@
 
 	get_bus_conf();
 
-	/* Bus:         Bus ID  Type */
-	/* define bus and isa numbers */
-	for (j = 0; j < bus_isa; j++) {
-		smp_write_bus(mc, j, (char *)"PCI   ");
-	}
-	smp_write_bus(mc, bus_isa, (char *)"ISA   ");
+	mptable_write_buses(mc, NULL, &bus_isa);
 
 	/* I/O APICs:   APIC ID Version State   Address */
 	{

Modified: trunk/src/mainboard/kontron/kt690/get_bus_conf.c
==============================================================================
--- trunk/src/mainboard/kontron/kt690/get_bus_conf.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/kontron/kt690/get_bus_conf.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -32,7 +32,6 @@
 /* Global variables for MB layouts and these will be shared by irqtable mptable
 * and acpi_tables busnum is default.
 */
-u8 bus_isa;
 u8 bus_rs690[8];
 u8 bus_sb600[2];
 u32 apicid_sb600;
@@ -54,8 +53,6 @@
 	0x20202020,
 };
 
-u32 bus_type[256];
-
 u32 sbdn_rs690;
 u32 sbdn_sb600;
 
@@ -67,7 +64,7 @@
 {
 	u32 apicid_base;
 	device_t dev;
-	int i, j;
+	int i;
 
 	if (get_bus_conf_done == 1)
 		return;		/* do it only once */
@@ -92,25 +89,13 @@
 		bus_rs690[i] = 0;
 	}
 
-	for (i = 0; i < 256; i++) {
-		bus_type[i] = 0; /* default ISA bus. */
-	}
-
-	bus_type[0] = 1;	/* pci */
-
 	bus_rs690[0] = (sysconf.pci1234[0] >> 16) & 0xff;
 	bus_sb600[0] = bus_rs690[0];
 
-	bus_type[bus_rs690[0]] = 1;
-
 	/* sb600 */
 	dev = dev_find_slot(bus_sb600[0], PCI_DEVFN(sbdn_sb600 + 0x14, 4));
 	if (dev) {
 		bus_sb600[1] = pci_read_config8(dev, PCI_SECONDARY_BUS);
-		bus_isa = pci_read_config8(dev, PCI_SUBORDINATE_BUS);
-		bus_isa++;
-		for (j = bus_sb600[1]; j < bus_isa; j++)
-			bus_type[j] = 1;
 	}
 
 	/* rs690 */
@@ -118,16 +103,10 @@
 		dev = dev_find_slot(bus_rs690[0], PCI_DEVFN(sbdn_rs690 + i, 0));
 		if (dev) {
 			bus_rs690[i] = pci_read_config8(dev, PCI_SECONDARY_BUS);
-			if(255 != bus_rs690[i]) {
-				bus_isa = pci_read_config8(dev, PCI_SUBORDINATE_BUS);
-				bus_isa++;
-				bus_type[bus_rs690[i]] = 1; /* PCI bus. */
-			}
 		}
 	}
 
 	/* I/O APICs:   APIC ID Version State   Address */
-	bus_isa = 10;
 #if CONFIG_LOGICAL_CPUS==1
 	apicid_base = get_apicid_base(1);
 #else

Modified: trunk/src/mainboard/kontron/kt690/irq_tables.c
==============================================================================
--- trunk/src/mainboard/kontron/kt690/irq_tables.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/kontron/kt690/irq_tables.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -51,7 +51,6 @@
 	pirq_info->slot = slot;
 	pirq_info->rfu = rfu;
 }
-extern u8 bus_isa;
 extern u8 bus_rs690[8];
 extern u8 bus_sb600[2];
 extern unsigned long sbdn_sb600;

Modified: trunk/src/mainboard/kontron/kt690/mptable.c
==============================================================================
--- trunk/src/mainboard/kontron/kt690/mptable.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/kontron/kt690/mptable.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -25,20 +25,18 @@
 #include <stdint.h>
 #include <cpu/amd/amdk8_sysconf.h>
 
-extern u8 bus_isa;
 extern u8 bus_rs690[8];
 extern u8 bus_sb600[2];
 
 extern u32 apicid_sb600;
 
-extern u32 bus_type[256];
 extern u32 sbdn_rs690;
 extern u32 sbdn_sb600;
 
 static void *smp_write_config_table(void *v)
 {
 	struct mp_config_table *mc;
-	int j;
+	int bus_isa;
 
 	mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
 
@@ -48,12 +46,7 @@
 
 	get_bus_conf();
 
-	/* Bus:         Bus ID  Type */
-	/* define bus and isa numbers */
-	for (j = 0; j < bus_isa; j++) {
-		smp_write_bus(mc, j, (char *)"PCI   ");
-	}
-	smp_write_bus(mc, bus_isa, (char *)"ISA   ");
+	mptable_write_buses(mc, NULL, &bus_isa);
 
 	/* I/O APICs:   APIC ID Version State   Address */
 	{

Modified: trunk/src/mainboard/technexion/tim5690/get_bus_conf.c
==============================================================================
--- trunk/src/mainboard/technexion/tim5690/get_bus_conf.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/technexion/tim5690/get_bus_conf.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -32,7 +32,6 @@
 /* Global variables for MB layouts and these will be shared by irqtable mptable
 * and acpi_tables busnum is default.
 */
-u8 bus_isa;
 u8 bus_rs690[8];
 u8 bus_sb600[2];
 u32 apicid_sb600;
@@ -54,8 +53,6 @@
 	0x20202020,
 };
 
-u32 bus_type[256];
-
 u32 sbdn_rs690;
 u32 sbdn_sb600;
 
@@ -67,7 +64,7 @@
 {
 	u32 apicid_base;
 	device_t dev;
-	int i, j;
+	int i;
 
 	if (get_bus_conf_done == 1)
 		return;		/* do it only once */
@@ -92,25 +89,13 @@
 		bus_rs690[i] = 0;
 	}
 
-	for (i = 0; i < 256; i++) {
-		bus_type[i] = 0; /* default ISA bus. */
-	}
-
-	bus_type[0] = 1;	/* pci */
-
 	bus_rs690[0] = (sysconf.pci1234[0] >> 16) & 0xff;
 	bus_sb600[0] = bus_rs690[0];
 
-	bus_type[bus_rs690[0]] = 1;
-
 	/* sb600 */
 	dev = dev_find_slot(bus_sb600[0], PCI_DEVFN(sbdn_sb600 + 0x14, 4));
 	if (dev) {
 		bus_sb600[1] = pci_read_config8(dev, PCI_SECONDARY_BUS);
-		bus_isa = pci_read_config8(dev, PCI_SUBORDINATE_BUS);
-		bus_isa++;
-		for (j = bus_sb600[1]; j < bus_isa; j++)
-			bus_type[j] = 1;
 	}
 
 	/* rs690 */
@@ -118,16 +103,10 @@
 		dev = dev_find_slot(bus_rs690[0], PCI_DEVFN(sbdn_rs690 + i, 0));
 		if (dev) {
 			bus_rs690[i] = pci_read_config8(dev, PCI_SECONDARY_BUS);
-			if(255 != bus_rs690[i]) {
-				bus_isa = pci_read_config8(dev, PCI_SUBORDINATE_BUS);
-				bus_isa++;
-				bus_type[bus_rs690[i]] = 1; /* PCI bus. */
-			}
 		}
 	}
 
 	/* I/O APICs:   APIC ID Version State   Address */
-	bus_isa = 10;
 #if CONFIG_LOGICAL_CPUS==1
 	apicid_base = get_apicid_base(1);
 #else

Modified: trunk/src/mainboard/technexion/tim5690/irq_tables.c
==============================================================================
--- trunk/src/mainboard/technexion/tim5690/irq_tables.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/technexion/tim5690/irq_tables.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -51,7 +51,6 @@
 	pirq_info->slot = slot;
 	pirq_info->rfu = rfu;
 }
-extern u8 bus_isa;
 extern u8 bus_rs690[8];
 extern u8 bus_sb600[2];
 extern unsigned long sbdn_sb600;

Modified: trunk/src/mainboard/technexion/tim5690/mptable.c
==============================================================================
--- trunk/src/mainboard/technexion/tim5690/mptable.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/technexion/tim5690/mptable.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -25,20 +25,18 @@
 #include <stdint.h>
 #include <cpu/amd/amdk8_sysconf.h>
 
-extern u8 bus_isa;
 extern u8 bus_rs690[8];
 extern u8 bus_sb600[2];
 
 extern u32 apicid_sb600;
 
-extern u32 bus_type[256];
 extern u32 sbdn_rs690;
 extern u32 sbdn_sb600;
 
 static void *smp_write_config_table(void *v)
 {
 	struct mp_config_table *mc;
-	int j;
+	int bus_isa;
 
 	mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
 
@@ -48,12 +46,7 @@
 
 	get_bus_conf();
 
-	/* Bus:         Bus ID  Type */
-	/* define bus and isa numbers */
-	for (j = 0; j < bus_isa; j++) {
-		smp_write_bus(mc, j, (char *)"PCI   ");
-	}
-	smp_write_bus(mc, bus_isa, (char *)"ISA   ");
+	mptable_write_buses(mc, NULL, &bus_isa);
 
 	/* I/O APICs:   APIC ID Version State   Address */
 	{

Modified: trunk/src/mainboard/technexion/tim8690/get_bus_conf.c
==============================================================================
--- trunk/src/mainboard/technexion/tim8690/get_bus_conf.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/technexion/tim8690/get_bus_conf.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -32,7 +32,6 @@
 /* Global variables for MB layouts and these will be shared by irqtable mptable
 * and acpi_tables busnum is default.
 */
-u8 bus_isa;
 u8 bus_rs690[8];
 u8 bus_sb600[2];
 u32 apicid_sb600;
@@ -54,8 +53,6 @@
 	0x20202020,
 };
 
-u32 bus_type[256];
-
 u32 sbdn_rs690;
 u32 sbdn_sb600;
 
@@ -67,7 +64,7 @@
 {
 	u32 apicid_base;
 	device_t dev;
-	int i, j;
+	int i;
 
 	if (get_bus_conf_done == 1)
 		return;		/* do it only once */
@@ -92,25 +89,13 @@
 		bus_rs690[i] = 0;
 	}
 
-	for (i = 0; i < 256; i++) {
-		bus_type[i] = 0; /* default ISA bus. */
-	}
-
-	bus_type[0] = 1;	/* pci */
-
 	bus_rs690[0] = (sysconf.pci1234[0] >> 16) & 0xff;
 	bus_sb600[0] = bus_rs690[0];
 
-	bus_type[bus_rs690[0]] = 1;
-
 	/* sb600 */
 	dev = dev_find_slot(bus_sb600[0], PCI_DEVFN(sbdn_sb600 + 0x14, 4));
 	if (dev) {
 		bus_sb600[1] = pci_read_config8(dev, PCI_SECONDARY_BUS);
-		bus_isa = pci_read_config8(dev, PCI_SUBORDINATE_BUS);
-		bus_isa++;
-		for (j = bus_sb600[1]; j < bus_isa; j++)
-			bus_type[j] = 1;
 	}
 
 	/* rs690 */
@@ -118,16 +103,10 @@
 		dev = dev_find_slot(bus_rs690[0], PCI_DEVFN(sbdn_rs690 + i, 0));
 		if (dev) {
 			bus_rs690[i] = pci_read_config8(dev, PCI_SECONDARY_BUS);
-			if(255 != bus_rs690[i]) {
-				bus_isa = pci_read_config8(dev, PCI_SUBORDINATE_BUS);
-				bus_isa++;
-				bus_type[bus_rs690[i]] = 1; /* PCI bus. */
-			}
 		}
 	}
 
 	/* I/O APICs:   APIC ID Version State   Address */
-	bus_isa = 10;
 #if CONFIG_LOGICAL_CPUS==1
 	apicid_base = get_apicid_base(1);
 #else

Modified: trunk/src/mainboard/technexion/tim8690/irq_tables.c
==============================================================================
--- trunk/src/mainboard/technexion/tim8690/irq_tables.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/technexion/tim8690/irq_tables.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -51,7 +51,6 @@
 	pirq_info->slot = slot;
 	pirq_info->rfu = rfu;
 }
-extern u8 bus_isa;
 extern u8 bus_rs690[8];
 extern u8 bus_sb600[2];
 extern unsigned long sbdn_sb600;

Modified: trunk/src/mainboard/technexion/tim8690/mptable.c
==============================================================================
--- trunk/src/mainboard/technexion/tim8690/mptable.c	Sun Nov 21 15:38:24 2010	(r6104)
+++ trunk/src/mainboard/technexion/tim8690/mptable.c	Sun Nov 21 15:40:09 2010	(r6105)
@@ -25,20 +25,18 @@
 #include <stdint.h>
 #include <cpu/amd/amdk8_sysconf.h>
 
-extern u8 bus_isa;
 extern u8 bus_rs690[8];
 extern u8 bus_sb600[2];
 
 extern u32 apicid_sb600;
 
-extern u32 bus_type[256];
 extern u32 sbdn_rs690;
 extern u32 sbdn_sb600;
 
 static void *smp_write_config_table(void *v)
 {
 	struct mp_config_table *mc;
-	int j;
+	int bus_isa;
 
 	mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
 
@@ -48,12 +46,7 @@
 
 	get_bus_conf();
 
-	/* Bus:         Bus ID  Type */
-	/* define bus and isa numbers */
-	for (j = 0; j < bus_isa; j++) {
-		smp_write_bus(mc, j, (char *)"PCI   ");
-	}
-	smp_write_bus(mc, bus_isa, (char *)"ISA   ");
+	mptable_write_buses(mc, NULL, &bus_isa);
 
 	/* I/O APICs:   APIC ID Version State   Address */
 	{




More information about the coreboot mailing list