[PATCH] LEON3 SMP: fix for first task switch
Daniel Hellstrom
daniel at gaisler.com
Sat Nov 30 13:40:32 UTC 2013
_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
--
1.7.0.4
More information about the devel
mailing list