 arch/x86_64/kernel/mpparse.c  |    2 +-
 include/asm-x86_64/mpspec.h   |    2 +-
 include/asm-x86_64/topology.h |    7 +++++--
 3 files changed, 7 insertions(+), 4 deletions(-)

diff -puN include/asm-x86_64/topology.h~x86_64-cpumask_t-fix include/asm-x86_64/topology.h
--- 25/include/asm-x86_64/topology.h~x86_64-cpumask_t-fix	2003-07-31 18:20:51.000000000 -0700
+++ 25-akpm/include/asm-x86_64/topology.h	2003-07-31 18:25:11.000000000 -0700
@@ -19,9 +19,12 @@ extern cpumask_t cpu_online_map;
 #define node_to_cpu_mask(node)	(fake_node ? cpu_online_map : cpumask_of_cpu(node))
 #define node_to_memblk(node)		(node)
 
-static inline unsigned long pcibus_to_cpumask(int bus)
+static inline cpumask_t pcibus_to_cpumask(int bus)
 {
-	return mp_bus_to_cpumask[bus] & cpu_online_map;
+	cpumask_t ret;
+
+	cpus_and(ret, mp_bus_to_cpumask[bus], cpu_online_map);
+	return ret;
 }
 
 #define NODE_BALANCE_RATE 30	/* CHECKME */ 
diff -puN include/asm-x86_64/mpspec.h~x86_64-cpumask_t-fix include/asm-x86_64/mpspec.h
--- 25/include/asm-x86_64/mpspec.h~x86_64-cpumask_t-fix	2003-07-31 18:24:12.000000000 -0700
+++ 25-akpm/include/asm-x86_64/mpspec.h	2003-07-31 18:24:35.000000000 -0700
@@ -166,7 +166,7 @@ enum mp_bustype {
 };
 extern unsigned char mp_bus_id_to_type [MAX_MP_BUSSES];
 extern int mp_bus_id_to_pci_bus [MAX_MP_BUSSES];
-extern unsigned long mp_bus_to_cpumask [MAX_MP_BUSSES];
+extern cpumask_t mp_bus_to_cpumask [MAX_MP_BUSSES];
 
 extern unsigned int boot_cpu_physical_apicid;
 extern cpumask_t phys_cpu_present_map;
diff -puN arch/x86_64/kernel/mpparse.c~x86_64-cpumask_t-fix arch/x86_64/kernel/mpparse.c
--- 25/arch/x86_64/kernel/mpparse.c~x86_64-cpumask_t-fix	2003-07-31 18:24:54.000000000 -0700
+++ 25-akpm/arch/x86_64/kernel/mpparse.c	2003-07-31 18:25:45.000000000 -0700
@@ -43,7 +43,7 @@ int acpi_found_madt;
 int apic_version [MAX_APICS];
 unsigned char mp_bus_id_to_type [MAX_MP_BUSSES] = { [0 ... MAX_MP_BUSSES-1] = -1 };
 int mp_bus_id_to_pci_bus [MAX_MP_BUSSES] = { [0 ... MAX_MP_BUSSES-1] = -1 };
-unsigned long mp_bus_to_cpumask [MAX_MP_BUSSES] = { [0 ... MAX_MP_BUSSES-1] = -1UL };
+cpumask_t mp_bus_to_cpumask [MAX_MP_BUSSES] = { [0 ... MAX_MP_BUSSES-1] = CPU_MASK_ALL };
 
 int mp_current_pci_id = 0;
 /* I/O APIC entries */

_
