提交 2805d315 编写于 作者: G Grissiom

rm48x50: fix bug in reg_test from FreeRTOS

It does not satisfy AAPCS.
上级 85ec844d
......@@ -122,13 +122,15 @@ vRegTestTask1:
vRegTestLoop1:
STMFD sp!, {r0-r3, r12}
; Force yeild
BL rt_thread_yield
LDMFD sp!, {r0-r3, r12}
.if (__TI_VFP_SUPPORT__)
; Check all the VFP registers still contain the values set above.
; First save registers that are clobbered by the test.
push { r0-r1 }
STMFD sp!, { r0-r1 }
vmov r0, r1, d0
cmp r0, #0xFF
......@@ -212,7 +214,7 @@ vRegTestLoop1:
bne reg1_error_loopf
; Restore the registers that were clobbered by the test.
pop {r0-r1}
LDMFD sp!, {r0-r1}
; VFP register test passed. Jump to the core register test.
b reg1_loopf_pass
......@@ -255,8 +257,6 @@ reg1_loopf_pass:
bne vRegTestError1
cmp r12, #0xCC
bne vRegTestError1
cmp r14, #0xEE
bne vRegTestError1
; This task is still running without jumping to vRegTestError1, so increment
; the loop counter so the check task knows the task is running error free.
......@@ -331,7 +331,7 @@ vRegTestLoop2:
.if (__TI_VFP_SUPPORT__)
; Check all the VFP registers still contain the values set above.
; First save registers that are clobbered by the test.
push { r0-r1 }
STMFD sp!, { r0-r1 }
vmov r0, r1, d0
cmp r0, #0xFF000000
......@@ -415,7 +415,7 @@ vRegTestLoop2:
bne reg2_error_loopf
; Restore the registers that were clobbered by the test.
pop {r0-r1}
LDMFD sp!, {r0-r1}
; VFP register test passed. Jump to the core register test.
b reg2_loopf_pass
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册