[PATCH][2.4.23-pre3] repair mpparse for default MP systems

From: Mikael Pettersson
Date: Thu Sep 11 2003 - 17:22:51 EST


Mathieu,

This patch for 2.4.23-pre3 should fix the problems your dual
P5 with default MP config has been having since 2.4.21-pre2.
Please let us know if it works or not.

/Mikael

--- linux-2.4.23-pre3/arch/i386/kernel/mpparse.c.~1~ 2003-09-11 19:49:56.000000000 +0200
+++ linux-2.4.23-pre3/arch/i386/kernel/mpparse.c 2003-09-11 23:31:32.000000000 +0200
@@ -683,6 +683,24 @@
struct mpc_config_lintsrc lintsrc;
int linttypes[2] = { mp_ExtINT, mp_NMI };
int i;
+ struct {
+ int mp_bus_id_to_type[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];
+ struct mpc_config_intsrc mp_irqs[MAX_IRQ_SOURCES];
+ } *bus_data;
+
+ bus_data = alloc_bootmem(sizeof(*bus_data));
+ if (!bus_data)
+ panic("SMP mptable: out of memory!\n");
+ mp_bus_id_to_type = bus_data->mp_bus_id_to_type;
+ mp_bus_id_to_node = bus_data->mp_bus_id_to_node;
+ mp_bus_id_to_local = bus_data->mp_bus_id_to_local;
+ mp_bus_id_to_pci_bus = bus_data->mp_bus_id_to_pci_bus;
+ mp_irqs = bus_data->mp_irqs;
+ for (i = 0; i < MAX_MP_BUSSES; ++i)
+ mp_bus_id_to_pci_bus[i] = -1;

/*
* local APIC has default address
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/