|
@@ -1,13 +1,13 @@
|
|
|
#include <linux/init.h>
|
|
|
#include <linux/pci.h>
|
|
|
+#include <linux/topology.h>
|
|
|
#include "pci.h"
|
|
|
|
|
|
#ifdef CONFIG_X86_64
|
|
|
-
|
|
|
#include <asm/pci-direct.h>
|
|
|
#include <asm/mpspec.h>
|
|
|
#include <linux/cpumask.h>
|
|
|
-#include <linux/topology.h>
|
|
|
+#endif
|
|
|
|
|
|
/*
|
|
|
* This discovers the pcibus <-> node mapping on AMD K8.
|
|
@@ -18,6 +18,8 @@
|
|
|
|
|
|
#define BUS_NR 256
|
|
|
|
|
|
+#ifdef CONFIG_X86_64
|
|
|
+
|
|
|
static int mp_bus_to_node[BUS_NR];
|
|
|
|
|
|
void set_mp_bus_to_node(int busnum, int node)
|
|
@@ -45,7 +47,31 @@ int get_mp_bus_to_node(int busnum)
|
|
|
return node;
|
|
|
}
|
|
|
|
|
|
-#endif
|
|
|
+#else /* CONFIG_X86_32 */
|
|
|
+
|
|
|
+static unsigned char mp_bus_to_node[BUS_NR];
|
|
|
+
|
|
|
+void set_mp_bus_to_node(int busnum, int node)
|
|
|
+{
|
|
|
+ if (busnum >= 0 && busnum < BUS_NR)
|
|
|
+ mp_bus_to_node[busnum] = (unsigned char) node;
|
|
|
+}
|
|
|
+
|
|
|
+int get_mp_bus_to_node(int busnum)
|
|
|
+{
|
|
|
+ int node;
|
|
|
+
|
|
|
+ if (busnum < 0 || busnum > (BUS_NR - 1))
|
|
|
+ return 0;
|
|
|
+ node = mp_bus_to_node[busnum];
|
|
|
+ return node;
|
|
|
+}
|
|
|
+
|
|
|
+#endif /* CONFIG_X86_32 */
|
|
|
+
|
|
|
+#endif /* CONFIG_NUMA */
|
|
|
+
|
|
|
+#ifdef CONFIG_X86_64
|
|
|
|
|
|
/*
|
|
|
* sub bus (transparent) will use entres from 3 to store extra from root,
|