diff options
Diffstat (limited to 'src/mainboard/dell/s1850')
-rw-r--r-- | src/mainboard/dell/s1850/mptable.c | 21 |
1 files changed, 2 insertions, 19 deletions
diff --git a/src/mainboard/dell/s1850/mptable.c b/src/mainboard/dell/s1850/mptable.c index 46f21c68cb..5ce0a3d574 100644 --- a/src/mainboard/dell/s1850/mptable.c +++ b/src/mainboard/dell/s1850/mptable.c @@ -8,8 +8,7 @@ static void *smp_write_config_table(void *v) { struct mp_config_table *mc; - unsigned char bus_num; - unsigned char bus_isa; + int bus_isa; unsigned char bus_pxhd_1; unsigned char bus_pxhd_2; unsigned char bus_pxhd_3; @@ -29,35 +28,27 @@ static void *smp_write_config_table(void *v) dev = dev_find_slot(0, PCI_DEVFN(0x1e,0)); if (dev) { bus_ich5r_1 = pci_read_config8(dev, PCI_SECONDARY_BUS); - bus_isa = pci_read_config8(dev, PCI_SUBORDINATE_BUS); - bus_isa++; } else { printk(BIOS_DEBUG, "ERROR - could not find PCI 0:1e.0, using defaults\n"); - bus_ich5r_1 = 7; - bus_isa = 8; } /* pxhd-1 */ dev = dev_find_slot(1, PCI_DEVFN(0x0,0)); if (dev) { bus_pxhd_1 = pci_read_config8(dev, PCI_SECONDARY_BUS); - } else { printk(BIOS_DEBUG, "ERROR - could not find PCI 1:00.0, using defaults\n"); - bus_pxhd_1 = 2; } /* pxhd-2 */ dev = dev_find_slot(1, PCI_DEVFN(0x00,2)); if (dev) { bus_pxhd_2 = pci_read_config8(dev, PCI_SECONDARY_BUS); - } else { printk(BIOS_DEBUG, "ERROR - could not find PCI 1:00.2, using defaults\n"); - bus_pxhd_2 = 3; } @@ -65,32 +56,24 @@ static void *smp_write_config_table(void *v) dev = dev_find_slot(0, PCI_DEVFN(0x4,0)); if (dev) { bus_pxhd_3 = pci_read_config8(dev, PCI_SECONDARY_BUS); - } else { printk(BIOS_DEBUG, "ERROR - could not find PCI 0:04.0, using defaults\n"); - bus_pxhd_3 = 5; } /* pxhd-4 */ dev = dev_find_slot(0, PCI_DEVFN(0x06,0)); if (dev) { bus_pxhd_4 = pci_read_config8(dev, PCI_SECONDARY_BUS); - } else { printk(BIOS_DEBUG, "ERROR - could not find PCI 0:06.0, using defaults\n"); - bus_pxhd_4 = 6; } } - /* define bus and isa numbers */ - for(bus_num = 0; bus_num < bus_isa; bus_num++) { - smp_write_bus(mc, bus_num, "PCI "); - } - smp_write_bus(mc, bus_isa, "ISA "); + mptable_write_buses(mc, NULL, &bus_isa); /* IOAPIC handling */ |