x86: add mp_bus_not_pci bitmap to mpparse_32.c
authorAlexey Starikovskiy <astarikovskiy@suse.de>
Thu, 20 Mar 2008 11:54:09 +0000 (14:54 +0300)
committerIngo Molnar <mingo@elte.hu>
Thu, 17 Apr 2008 15:40:58 +0000 (17:40 +0200)
Signed-off: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/mpparse_32.c
include/asm-x86/mpspec.h

index 2abc9392799add841607d59d7c97d843d8506bd2..c13092db578e53ca948b415391df3eddf20a7c69 100644 (file)
@@ -43,6 +43,7 @@ unsigned int __cpuinitdata maxcpus = NR_CPUS;
  */
 int apic_version [MAX_APICS];
 int mp_bus_id_to_type [MAX_MP_BUSSES];
+DECLARE_BITMAP(mp_bus_not_pci, MAX_MP_BUSSES);
 int mp_bus_id_to_node [MAX_MP_BUSSES];
 int mp_bus_id_to_local [MAX_MP_BUSSES];
 int mp_bus_id_to_pci_bus [MAX_MP_BUSSES] = { [0 ... MAX_MP_BUSSES-1] = -1 };
@@ -240,12 +241,14 @@ static void __init MP_bus_info (struct mpc_config_bus *m)
        }
 #endif
 
+       set_bit(m->mpc_busid, mp_bus_not_pci);
        if (strncmp(str, BUSTYPE_ISA, sizeof(BUSTYPE_ISA)-1) == 0) {
                mp_bus_id_to_type[m->mpc_busid] = MP_BUS_ISA;
        } else if (strncmp(str, BUSTYPE_EISA, sizeof(BUSTYPE_EISA)-1) == 0) {
                mp_bus_id_to_type[m->mpc_busid] = MP_BUS_EISA;
        } else if (strncmp(str, BUSTYPE_PCI, sizeof(BUSTYPE_PCI)-1) == 0) {
                mpc_oem_pci_bus(m, translation_table[mpc_record]);
+               clear_bit(m->mpc_busid, mp_bus_not_pci);
                mp_bus_id_to_type[m->mpc_busid] = MP_BUS_PCI;
                mp_bus_id_to_pci_bus[m->mpc_busid] = mp_current_pci_id;
                mp_current_pci_id++;
@@ -984,6 +987,7 @@ void __init mp_config_acpi_legacy_irqs (void)
         * Fabricate the legacy ISA bus (bus #31).
         */
        mp_bus_id_to_type[MP_ISA_BUS] = MP_BUS_ISA;
+       set_bit(MP_ISA_BUS, mp_bus_not_pci);
        Dprintk("Bus #%d is ISA\n", MP_ISA_BUS);
 
        /*
index 982550bef2cd0e1f96dd4e4a86c6903e10d93554..75df88e0a2708a8139f40e4a35ea60861a9223d7 100644 (file)
@@ -23,13 +23,12 @@ extern int pic_mode;
 /* Each PCI slot may be a combo card with its own bus.  4 IRQ pins per slot. */
 #define MAX_IRQ_SOURCES (MAX_MP_BUSSES * 4)
 
-extern DECLARE_BITMAP(mp_bus_not_pci, MAX_MP_BUSSES);
-
 extern void early_find_smp_config(void);
 extern void early_get_smp_config(void);
 
 #endif
 
+extern DECLARE_BITMAP(mp_bus_not_pci, MAX_MP_BUSSES);
 extern int mp_bus_id_to_pci_bus[MAX_MP_BUSSES];
 
 extern unsigned int boot_cpu_physical_apicid;