summaryrefslogtreecommitdiff
path: root/src/mainboard
diff options
context:
space:
mode:
authorPatrick Georgi <patrick.georgi@coresystems.de>2010-06-25 13:43:22 +0000
committerPatrick Georgi <patrick.georgi@coresystems.de>2010-06-25 13:43:22 +0000
commitab272664ee24c2e497186b4ed3f94e5910e8eac9 (patch)
tree025c4d043ab3524bb96ee70253b0320ad3f5a732 /src/mainboard
parent43c970f56a1dbba72543e9e1cd007726ad31c626 (diff)
downloadcoreboot-ab272664ee24c2e497186b4ed3f94e5910e8eac9.tar.xz
Add new function to create all mptable entries for buses by
reading that information from the device tree. Use this function on kontron/986lcd-m Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5647 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/mainboard')
-rw-r--r--src/mainboard/kontron/986lcd-m/mptable.c17
1 files changed, 2 insertions, 15 deletions
diff --git a/src/mainboard/kontron/986lcd-m/mptable.c b/src/mainboard/kontron/986lcd-m/mptable.c
index cfa7cb7cdc..6d15f56da9 100644
--- a/src/mainboard/kontron/986lcd-m/mptable.c
+++ b/src/mainboard/kontron/986lcd-m/mptable.c
@@ -33,7 +33,7 @@ static void *smp_write_config_table(void *v)
struct mp_config_table *mc;
struct device *riser = NULL, *firewire = NULL;
int i;
- int max_pci_bus, firewire_bus = 0, riser_bus = 0, isa_bus;
+ int firewire_bus = 0, riser_bus = 0, isa_bus;
int ioapic_id;
mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
@@ -54,14 +54,10 @@ static void *smp_write_config_table(void *v)
mc->reserved = 0;
smp_write_processors(mc);
- max_pci_bus=0;
firewire = dev_find_device(0x104c, 0x8023, 0);
if (firewire) {
firewire_bus = firewire->bus->secondary;
- printk(BIOS_SPEW, "Firewire device is on bus %x\n",
- firewire_bus);
- max_pci_bus = firewire_bus;
}
// If a riser card is used, this riser is detected on bus 4, so its secondary bus is the
@@ -71,18 +67,9 @@ static void *smp_write_config_table(void *v)
riser = dev_find_device(0x3388, 0x0022, 0);
if (riser) {
riser_bus = riser->link_list->secondary;
- printk(BIOS_SPEW, "Riser bus is %x\n", riser_bus);
- max_pci_bus = riser_bus;
}
- /* ISA bus follows */
- isa_bus = max_pci_bus + 1;
-
- /* Bus: Bus ID Type */
- for (i=0; i <= max_pci_bus; i++)
- smp_write_bus(mc, i, "PCI ");
-
- smp_write_bus(mc, isa_bus, "ISA ");
+ mptable_write_buses(mc, NULL, &isa_bus);
/* I/O APICs: APIC ID Version State Address */
ioapic_id = 2;