[PATCH] LEON3 SMP: fix for first task switch

Joel Sherrill joel.sherrill at OARcorp.com
Sat Nov 30 15:29:53 UTC 2013


Committed. Thanks.

On 11/30/2013 7:40 AM, Daniel Hellstrom wrote:
> _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



-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel.sherrill at OARcorp.com        On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
Support Available                (256) 722-9985



More information about the devel mailing list