From 2d3eb2334928e3e075b5ab6a38a9ab7de03fc73f Mon Sep 17 00:00:00 2001 From: Daniel Hellstrom Date: Sat, 30 Nov 2013 09:28:28 -0600 Subject: 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 file changed, 1 insertion(+) diff --git a/c/src/lib/libbsp/sparc/shared/irq_asm.S b/c/src/lib/libbsp/sparc/shared/irq_asm.S index ce276cd06a..d67ed6c383 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 -- cgit v1.2.3