summaryrefslogtreecommitdiffstats
path: root/cpukit/score/cpu/sparc/cpu.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2014-04-22 10:15:39 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2014-04-28 09:26:19 +0200
commit7c0bd74c87b141454ae17ee1cfeeba42dc4b0df2 (patch)
treecda34ba07b75edb4e4bf9e39424adfd785cfcc3f /cpukit/score/cpu/sparc/cpu.c
parentsparc: Document register g7 usage (diff)
downloadrtems-7c0bd74c87b141454ae17ee1cfeeba42dc4b0df2.tar.bz2
sparc: Add _CPU_Get_current_per_CPU_control()
Use register g6 for the per-CPU control of the current processor. The register g6 is reserved for the operating system by the SPARC ABI. On Linux register g6 is used for a similar purpose with the same method since 1996. The register g6 must be initialized during system startup and then must remain unchanged. Since the per-CPU control is used in all critical sections of the operating system, this is a performance optimization for the operating system core procedures. An additional benefit is that the low-level context switch and interrupt processing code is now identical on non-SMP and SMP configurations.
Diffstat (limited to 'cpukit/score/cpu/sparc/cpu.c')
-rw-r--r--cpukit/score/cpu/sparc/cpu.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/cpukit/score/cpu/sparc/cpu.c b/cpukit/score/cpu/sparc/cpu.c
index 463ff4736c..6c124db4d2 100644
--- a/cpukit/score/cpu/sparc/cpu.c
+++ b/cpukit/score/cpu/sparc/cpu.c
@@ -36,7 +36,6 @@ RTEMS_STATIC_ASSERT(
)
SPARC_ASSERT_OFFSET(g5, G5);
-SPARC_ASSERT_OFFSET(g6, G6);
SPARC_ASSERT_OFFSET(g7, G7);
RTEMS_STATIC_ASSERT(