diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-06-09 07:25:02 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-06-09 07:30:41 +0200 |
commit | 32b4a0c42704f0076da8e2d5411290f55d1b2965 (patch) | |
tree | b8b10e79ed076140e3b0a9f88833ef3582d8b23c /c/src/lib/libbsp/sparc/shared/irq_asm.S | |
parent | libblock: FreeBSD kernel-space compatibility (diff) | |
download | rtems-32b4a0c42704f0076da8e2d5411290f55d1b2965.tar.bz2 |
Simplify TLS support in context switch
There is no need to save the thread pointer in _CPU_Context_switch()
since it is a thread invariant. It is initialized once in
_CPU_Context_Initialize().
Diffstat (limited to 'c/src/lib/libbsp/sparc/shared/irq_asm.S')
-rw-r--r-- | c/src/lib/libbsp/sparc/shared/irq_asm.S | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/c/src/lib/libbsp/sparc/shared/irq_asm.S b/c/src/lib/libbsp/sparc/shared/irq_asm.S index 3d83431e54..075c7808d3 100644 --- a/c/src/lib/libbsp/sparc/shared/irq_asm.S +++ b/c/src/lib/libbsp/sparc/shared/irq_asm.S @@ -59,7 +59,11 @@ PUBLIC(_CPU_Context_switch) SYM(_CPU_Context_switch): st %g5, [%o0 + G5_OFFSET] ! save the global registers - st %g7, [%o0 + G7_OFFSET] + + /* + * No need to save the thread pointer %g7 since it is a thread + * invariant. It is initialized once in _CPU_Context_Initialize(). + */ std %l0, [%o0 + L0_OFFSET] ! save the local registers std %l2, [%o0 + L2_OFFSET] |