summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexey Starikovskiy <astarikovskiy@suse.de>2008-03-20 14:54:09 +0300
committerIngo Molnar <mingo@elte.hu>2008-04-17 17:40:58 +0200
commita6333c3ccbdc0ae001cff6ee1d3633942ef763f4 (patch)
treefc775b3a0a74bd32534082a64ca53aaae406a346
parent8643f9d02a7bb9db74634b4c062d8e70ce7c59b9 (diff)
downloadblackbird-op-linux-a6333c3ccbdc0ae001cff6ee1d3633942ef763f4.tar.gz
blackbird-op-linux-a6333c3ccbdc0ae001cff6ee1d3633942ef763f4.zip
x86: add mp_bus_not_pci bitmap to mpparse_32.c
Signed-off: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--arch/x86/kernel/mpparse_32.c4
-rw-r--r--include/asm-x86/mpspec.h3
2 files changed, 5 insertions, 2 deletions
diff --git a/arch/x86/kernel/mpparse_32.c b/arch/x86/kernel/mpparse_32.c
index 2abc9392799a..c13092db578e 100644
--- a/arch/x86/kernel/mpparse_32.c
+++ b/arch/x86/kernel/mpparse_32.c
@@ -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);
/*
diff --git a/include/asm-x86/mpspec.h b/include/asm-x86/mpspec.h
index 982550bef2cd..75df88e0a270 100644
--- a/include/asm-x86/mpspec.h
+++ b/include/asm-x86/mpspec.h
@@ -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;
OpenPOWER on IntegriCloud