aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2005-09-12 12:49:24 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2005-09-12 13:49:57 -0400
commit69e1a33f62eff9b228a8cc2c3e4429dbee8966c9 (patch)
tree985f088d05f2d936cfafa5dd0232aa59391dc663 /include
parent413588c7cb8113c03d0044f1d41b832ad7201c29 (diff)
[PATCH] x86-64: Use ACPI PXM to parse PCI<->node assignments
Since this is shared code I had to implement it for i386 too Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include')
-rw-r--r--include/asm-i386/numa.h3
-rw-r--r--include/asm-i386/topology.h2
-rw-r--r--include/asm-x86_64/numa.h1
-rw-r--r--include/asm-x86_64/topology.h3
4 files changed, 6 insertions, 3 deletions
diff --git a/include/asm-i386/numa.h b/include/asm-i386/numa.h
new file mode 100644
index 000000000000..96fcb157db1d
--- /dev/null
+++ b/include/asm-i386/numa.h
@@ -0,0 +1,3 @@
1
2int pxm_to_nid(int pxm);
3
diff --git a/include/asm-i386/topology.h b/include/asm-i386/topology.h
index 2461b731781e..0ec27c9e8e45 100644
--- a/include/asm-i386/topology.h
+++ b/include/asm-i386/topology.h
@@ -60,7 +60,7 @@ static inline int node_to_first_cpu(int node)
60 return first_cpu(mask); 60 return first_cpu(mask);
61} 61}
62 62
63#define pcibus_to_node(bus) mp_bus_id_to_node[(bus)->number] 63#define pcibus_to_node(bus) ((long) (bus)->sysdata)
64#define pcibus_to_cpumask(bus) node_to_cpumask(pcibus_to_node(bus)) 64#define pcibus_to_cpumask(bus) node_to_cpumask(pcibus_to_node(bus))
65 65
66/* sched_domains SD_NODE_INIT for NUMAQ machines */ 66/* sched_domains SD_NODE_INIT for NUMAQ machines */
diff --git a/include/asm-x86_64/numa.h b/include/asm-x86_64/numa.h
index 3aaf70027213..bcf55c3f7f7f 100644
--- a/include/asm-x86_64/numa.h
+++ b/include/asm-x86_64/numa.h
@@ -9,6 +9,7 @@ struct node {
9}; 9};
10 10
11extern int compute_hash_shift(struct node *nodes, int numnodes); 11extern int compute_hash_shift(struct node *nodes, int numnodes);
12extern int pxm_to_node(int nid);
12 13
13#define ZONE_ALIGN (1UL << (MAX_ORDER+PAGE_SHIFT)) 14#define ZONE_ALIGN (1UL << (MAX_ORDER+PAGE_SHIFT))
14 15
diff --git a/include/asm-x86_64/topology.h b/include/asm-x86_64/topology.h
index c1bc3fad482e..1c603cd7e4d0 100644
--- a/include/asm-x86_64/topology.h
+++ b/include/asm-x86_64/topology.h
@@ -13,7 +13,6 @@
13extern cpumask_t cpu_online_map; 13extern cpumask_t cpu_online_map;
14 14
15extern unsigned char cpu_to_node[]; 15extern unsigned char cpu_to_node[];
16extern unsigned char pci_bus_to_node[];
17extern cpumask_t node_to_cpumask[]; 16extern cpumask_t node_to_cpumask[];
18 17
19#ifdef CONFIG_ACPI_NUMA 18#ifdef CONFIG_ACPI_NUMA
@@ -26,7 +25,7 @@ extern int __node_distance(int, int);
26#define parent_node(node) (node) 25#define parent_node(node) (node)
27#define node_to_first_cpu(node) (__ffs(node_to_cpumask[node])) 26#define node_to_first_cpu(node) (__ffs(node_to_cpumask[node]))
28#define node_to_cpumask(node) (node_to_cpumask[node]) 27#define node_to_cpumask(node) (node_to_cpumask[node])
29#define pcibus_to_node(bus) pci_bus_to_node[(bus)->number] 28#define pcibus_to_node(bus) ((long)(bus->sysdata))
30#define pcibus_to_cpumask(bus) node_to_cpumask(pcibus_to_node(bus)); 29#define pcibus_to_cpumask(bus) node_to_cpumask(pcibus_to_node(bus));
31 30
32/* sched_domains SD_NODE_INIT for x86_64 machines */ 31/* sched_domains SD_NODE_INIT for x86_64 machines */