/* 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;
0x20202020,
};
-u32 bus_type[256];
-
u32 sbdn_rs690;
u32 sbdn_sb600;
{
u32 apicid_base;
device_t dev;
- int i, j;
+ int i;
if (get_bus_conf_done == 1)
return; /* do it only once */
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 */
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
#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;
smp_write_processors(mc);
get_bus_conf();
- printk(BIOS_DEBUG, "%s: bus_isa=%d, apic_id=0x%x\n", __func__, bus_isa, apicid_sb600);
+ printk(BIOS_DEBUG, "%s: apic_id=0x%x\n", __func__, apicid_sb600);
mptable_write_buses(mc, NULL, &isa_bus);
- if (isa_bus != bus_isa) {
- printk(BIOS_ERR, "ISA bus numbering schemes differ! Please fix mptable.c\n");
- }
/* I/O APICs: APIC ID Version State Address */
{
device_t dev;
smp_write_ioapic(mc, apicid_sb600, 0x20, res->base);
}
}
- mptable_add_isa_interrupts(mc, bus_isa, apicid_sb600, 0);
+ mptable_add_isa_interrupts(mc, isa_bus, apicid_sb600, 0);
+
/* I/O Ints: Type Polarity Trigger Bus ID IRQ APIC ID PIN# */
- mptable_lintsrc(mc, bus_isa);
+ mptable_lintsrc(mc, isa_bus);
/* Compute the checksums */
return mptable_finalize(mc);