1
0
Эх сурвалжийг харах

fixed at91sam9260 context thread issue, avoid idle thread stack overflow

weety 12 жил өмнө
parent
commit
92d4c1939b

+ 2 - 2
libcpu/arm/at91sam926x/context_gcc.S

@@ -59,9 +59,9 @@ rt_hw_context_switch:
 	ldmfd	sp!, {r4}		@ pop new task spsr
 	ldmfd	sp!, {r4}		@ pop new task spsr
 	msr	spsr_cxsf, r4
 	msr	spsr_cxsf, r4
 	ldmfd	sp!, {r4}		@ pop new task cpsr
 	ldmfd	sp!, {r4}		@ pop new task cpsr
-	msr	cpsr_cxsf, r4
+	msr	spsr_cxsf, r4
 
 
-	ldmfd	sp!, {r0-r12, lr, pc}	@ pop new task r0-r12, lr & pc
+	ldmfd	sp!, {r0-r12, lr, pc}^	@ pop new task r0-r12, lr & pc
 
 
 /*
 /*
  * void rt_hw_context_switch_to(rt_uint32 to);
  * void rt_hw_context_switch_to(rt_uint32 to);