summaryrefslogtreecommitdiff
path: root/include/asm-sparc64/topology.h
diff options
context:
space:
mode:
authorDavid S. Miller <davem@hutch.davemloft.net>2007-06-05 04:01:39 +0400
committerDavid S. Miller <davem@sunset.davemloft.net>2007-06-05 08:50:00 +0400
commitf78eae2e6f5d1eb05f76a45486286445b916bd92 (patch)
tree0fa81e104ad9891afcaf18cdcb413c4a0f2ee8da /include/asm-sparc64/topology.h
parentd887ab3a9b1899f88b8cfba531e726b5fb2ebd14 (diff)
downloadlinux-f78eae2e6f5d1eb05f76a45486286445b916bd92.tar.xz
[SPARC64]: Proper multi-core scheduling support.
The scheduling domain hierarchy is: all cpus --> cpus that share an instruction cache --> cpus that share an integer execution unit Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/asm-sparc64/topology.h')
-rw-r--r--include/asm-sparc64/topology.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/include/asm-sparc64/topology.h b/include/asm-sparc64/topology.h
index e0d450d600ec..4880f7ca0b60 100644
--- a/include/asm-sparc64/topology.h
+++ b/include/asm-sparc64/topology.h
@@ -1,12 +1,19 @@
#ifndef _ASM_SPARC64_TOPOLOGY_H
#define _ASM_SPARC64_TOPOLOGY_H
+#ifdef CONFIG_SMP
#include <asm/spitfire.h>
-#define smt_capable() (tlb_type == hypervisor)
-
-#include <asm-generic/topology.h>
+#define topology_physical_package_id(cpu) (cpu_data(cpu).proc_id)
#define topology_core_id(cpu) (cpu_data(cpu).core_id)
+#define topology_core_siblings(cpu) (cpu_core_map[cpu])
#define topology_thread_siblings(cpu) (cpu_sibling_map[cpu])
+#define mc_capable() (tlb_type == hypervisor)
+#define smt_capable() (tlb_type == hypervisor)
+#endif /* CONFIG_SMP */
+
+#include <asm-generic/topology.h>
+
+#define cpu_coregroup_map(cpu) (cpu_core_map[cpu])
#endif /* _ASM_SPARC64_TOPOLOGY_H */