[rtems commit] sparc/shared/irq_asm.S: Get pointer to self per-CPU control

Joel Sherrill joel at rtems.org
Sat Nov 30 15:22:04 UTC 2013


Module:    rtems
Branch:    master
Commit:    2d3eb2334928e3e075b5ab6a38a9ab7de03fc73f
Changeset: http://git.rtems.org/rtems/commit/?id=2d3eb2334928e3e075b5ab6a38a9ab7de03fc73f

Author:    Daniel Hellstrom <daniel at gaisler.com>
Date:      Sat Nov 30 09:28:28 2013 -0600

sparc/shared/irq_asm.S: Get pointer to self per-CPU control

_CPU_Context_switch_to_first_task_smp() branches to
done_flushing which requires o3 to be initalized with
"self per-CPU control", this adds initialization of
o3. This problem only affects SMP, see commit
f8ad6c6f7f8b591e were usage of o3 was intruduced.

---

 c/src/lib/libbsp/sparc/shared/irq_asm.S |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/c/src/lib/libbsp/sparc/shared/irq_asm.S b/c/src/lib/libbsp/sparc/shared/irq_asm.S
index ce276cd..d67ed6c 100644
--- a/c/src/lib/libbsp/sparc/shared/irq_asm.S
+++ b/c/src/lib/libbsp/sparc/shared/irq_asm.S
@@ -265,6 +265,7 @@ SYM(_CPU_Context_switch_to_first_task_smp):
 	and	%g1, SPARC_NUMBER_OF_REGISTER_WINDOWS - 1, %g3
 	nop
 	mov	%o0, %o1		! in the delay slot
+	GET_SELF_CPU_CONTROL %o3, %o4
 	ba,a	done_flushing
 #endif
 




More information about the vc mailing list