mirror of https://github.com/ARMmbed/mbed-os.git
Reverted 4 CMSIS/RTX commits for Assembly files
1. Revert "CMSIS/RTX: __FPU_USED to be set based on HW FPU support" This reverts commit b4f5bed7e75c21927c954a50d40422b81a1de5a0. 2. Revert "CMSIS/RTX: Update Armv8M IAR 8.x assembly files - add END" This reverts commitpull/9437/headb228cd9db0. 3. Revert "CMSIS/RTX: Pre-processor defines used for assembly" This reverts commit287121ffdc. 4. Revert "CMSIS/RTX: Patch RTX so irq_cm4f.s files work with no FPU targets" This reverts commitcc2e0517e1.
parent
8f48104842
commit
bb25e8660d
|
|
@ -24,9 +24,9 @@
|
||||||
; */
|
; */
|
||||||
|
|
||||||
|
|
||||||
#ifndef DOMAIN_NS
|
IF :LNOT::DEF:DOMAIN_NS
|
||||||
DOMAIN_NS EQU 0
|
DOMAIN_NS EQU 0
|
||||||
#endif
|
ENDIF
|
||||||
|
|
||||||
I_T_RUN_OFS EQU 20 ; osRtxInfo.thread.run offset
|
I_T_RUN_OFS EQU 20 ; osRtxInfo.thread.run offset
|
||||||
TCB_SM_OFS EQU 48 ; TCB.stack_mem offset
|
TCB_SM_OFS EQU 48 ; TCB.stack_mem offset
|
||||||
|
|
|
||||||
|
|
@ -24,13 +24,15 @@
|
||||||
; */
|
; */
|
||||||
|
|
||||||
|
|
||||||
#ifndef DOMAIN_NS
|
IF :LNOT::DEF:DOMAIN_NS
|
||||||
DOMAIN_NS EQU 0
|
DOMAIN_NS EQU 0
|
||||||
#endif
|
ENDIF
|
||||||
|
|
||||||
#ifndef __FPU_USED
|
IF ({FPU}="FPv5-SP") || ({FPU}="FPv5_D16")
|
||||||
|
__FPU_USED EQU 1
|
||||||
|
ELSE
|
||||||
__FPU_USED EQU 0
|
__FPU_USED EQU 0
|
||||||
#endif
|
ENDIF
|
||||||
|
|
||||||
I_T_RUN_OFS EQU 20 ; osRtxInfo.thread.run offset
|
I_T_RUN_OFS EQU 20 ; osRtxInfo.thread.run offset
|
||||||
TCB_SM_OFS EQU 48 ; TCB.stack_mem offset
|
TCB_SM_OFS EQU 48 ; TCB.stack_mem offset
|
||||||
|
|
|
||||||
|
|
@ -74,22 +74,17 @@ SVC_Context
|
||||||
CBNZ R1,SVC_ContextSave ; Branch if running thread is not deleted
|
CBNZ R1,SVC_ContextSave ; Branch if running thread is not deleted
|
||||||
TST LR,#0x10 ; Check if extended stack frame
|
TST LR,#0x10 ; Check if extended stack frame
|
||||||
BNE SVC_ContextSwitch
|
BNE SVC_ContextSwitch
|
||||||
#ifdef __FPU_PRESENT
|
|
||||||
LDR R1,=0xE000EF34 ; FPCCR Address
|
LDR R1,=0xE000EF34 ; FPCCR Address
|
||||||
LDR R0,[R1] ; Load FPCCR
|
LDR R0,[R1] ; Load FPCCR
|
||||||
BIC R0,R0,#1 ; Clear LSPACT (Lazy state)
|
BIC R0,R0,#1 ; Clear LSPACT (Lazy state)
|
||||||
STR R0,[R1] ; Store FPCCR
|
STR R0,[R1] ; Store FPCCR
|
||||||
B SVC_ContextSwitch
|
B SVC_ContextSwitch
|
||||||
#endif
|
|
||||||
|
|
||||||
SVC_ContextSave
|
SVC_ContextSave
|
||||||
STMDB R12!,{R4-R11} ; Save R4..R11
|
STMDB R12!,{R4-R11} ; Save R4..R11
|
||||||
#ifdef __FPU_PRESENT
|
|
||||||
TST LR,#0x10 ; Check if extended stack frame
|
TST LR,#0x10 ; Check if extended stack frame
|
||||||
IT EQ
|
IT EQ
|
||||||
VSTMDBEQ R12!,{S16-S31} ; Save VFP S16.S31
|
VSTMDBEQ R12!,{S16-S31} ; Save VFP S16.S31
|
||||||
#endif
|
|
||||||
|
|
||||||
STR R12,[R1,#TCB_SP_OFS] ; Store SP
|
STR R12,[R1,#TCB_SP_OFS] ; Store SP
|
||||||
STRB LR, [R1,#TCB_SF_OFS] ; Store stack frame information
|
STRB LR, [R1,#TCB_SF_OFS] ; Store stack frame information
|
||||||
|
|
||||||
|
|
@ -108,11 +103,9 @@ SVC_ContextRestore
|
||||||
LDR R0,[R2,#TCB_SP_OFS] ; Load SP
|
LDR R0,[R2,#TCB_SP_OFS] ; Load SP
|
||||||
ORR LR,R1,#0xFFFFFF00 ; Set EXC_RETURN
|
ORR LR,R1,#0xFFFFFF00 ; Set EXC_RETURN
|
||||||
|
|
||||||
#ifdef __FPU_PRESENT
|
|
||||||
TST LR,#0x10 ; Check if extended stack frame
|
TST LR,#0x10 ; Check if extended stack frame
|
||||||
IT EQ
|
IT EQ
|
||||||
VLDMIAEQ R0!,{S16-S31} ; Restore VFP S16..S31
|
VLDMIAEQ R0!,{S16-S31} ; Restore VFP S16..S31
|
||||||
#endif
|
|
||||||
LDMIA R0!,{R4-R11} ; Restore R4..R11
|
LDMIA R0!,{R4-R11} ; Restore R4..R11
|
||||||
MSR PSP,R0 ; Set PSP
|
MSR PSP,R0 ; Set PSP
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -27,9 +27,9 @@
|
||||||
.file "irq_armv8mbl.S"
|
.file "irq_armv8mbl.S"
|
||||||
.syntax unified
|
.syntax unified
|
||||||
|
|
||||||
#ifndef DOMAIN_NS
|
.ifndef DOMAIN_NS
|
||||||
.equ DOMAIN_NS, 0
|
.equ DOMAIN_NS, 0
|
||||||
#endif
|
.endif
|
||||||
|
|
||||||
.equ I_T_RUN_OFS, 20 // osRtxInfo.thread.run offset
|
.equ I_T_RUN_OFS, 20 // osRtxInfo.thread.run offset
|
||||||
.equ TCB_SM_OFS, 48 // TCB.stack_mem offset
|
.equ TCB_SM_OFS, 48 // TCB.stack_mem offset
|
||||||
|
|
|
||||||
|
|
@ -27,13 +27,13 @@
|
||||||
.file "irq_armv8mml.S"
|
.file "irq_armv8mml.S"
|
||||||
.syntax unified
|
.syntax unified
|
||||||
|
|
||||||
#ifndef DOMAIN_NS
|
.ifndef DOMAIN_NS
|
||||||
.equ DOMAIN_NS, 0
|
.equ DOMAIN_NS, 0
|
||||||
#endif
|
.endif
|
||||||
|
|
||||||
#ifndef __FPU_USED
|
.ifndef __FPU_USED
|
||||||
.equ __FPU_USED, 0
|
.equ __FPU_USED, 0
|
||||||
#endif
|
.endif
|
||||||
|
|
||||||
.equ I_T_RUN_OFS, 20 // osRtxInfo.thread.run offset
|
.equ I_T_RUN_OFS, 20 // osRtxInfo.thread.run offset
|
||||||
.equ TCB_SM_OFS, 48 // TCB.stack_mem offset
|
.equ TCB_SM_OFS, 48 // TCB.stack_mem offset
|
||||||
|
|
|
||||||
|
|
@ -74,22 +74,17 @@ SVC_Context:
|
||||||
CBNZ R1,SVC_ContextSave // Branch if running thread is not deleted
|
CBNZ R1,SVC_ContextSave // Branch if running thread is not deleted
|
||||||
TST LR,#0x10 // Check if extended stack frame
|
TST LR,#0x10 // Check if extended stack frame
|
||||||
BNE SVC_ContextSwitch
|
BNE SVC_ContextSwitch
|
||||||
#ifdef __FPU_PRESENT
|
|
||||||
LDR R1,=0xE000EF34 // FPCCR Address
|
LDR R1,=0xE000EF34 // FPCCR Address
|
||||||
LDR R0,[R1] // Load FPCCR
|
LDR R0,[R1] // Load FPCCR
|
||||||
BIC R0,R0,#1 // Clear LSPACT (Lazy state)
|
BIC R0,R0,#1 // Clear LSPACT (Lazy state)
|
||||||
STR R0,[R1] // Store FPCCR
|
STR R0,[R1] // Store FPCCR
|
||||||
B SVC_ContextSwitch
|
B SVC_ContextSwitch
|
||||||
#endif
|
|
||||||
|
|
||||||
SVC_ContextSave:
|
SVC_ContextSave:
|
||||||
STMDB R12!,{R4-R11} // Save R4..R11
|
STMDB R12!,{R4-R11} // Save R4..R11
|
||||||
#ifdef __FPU_PRESENT
|
|
||||||
TST LR,#0x10 // Check if extended stack frame
|
TST LR,#0x10 // Check if extended stack frame
|
||||||
IT EQ
|
IT EQ
|
||||||
VSTMDBEQ R12!,{S16-S31} // Save VFP S16.S31
|
VSTMDBEQ R12!,{S16-S31} // Save VFP S16.S31
|
||||||
#endif
|
|
||||||
|
|
||||||
STR R12,[R1,#TCB_SP_OFS] // Store SP
|
STR R12,[R1,#TCB_SP_OFS] // Store SP
|
||||||
STRB LR, [R1,#TCB_SF_OFS] // Store stack frame information
|
STRB LR, [R1,#TCB_SF_OFS] // Store stack frame information
|
||||||
|
|
||||||
|
|
@ -101,11 +96,9 @@ SVC_ContextRestore:
|
||||||
LDR R0,[R2,#TCB_SP_OFS] // Load SP
|
LDR R0,[R2,#TCB_SP_OFS] // Load SP
|
||||||
ORR LR,R1,#0xFFFFFF00 // Set EXC_RETURN
|
ORR LR,R1,#0xFFFFFF00 // Set EXC_RETURN
|
||||||
|
|
||||||
#ifdef __FPU_PRESENT
|
|
||||||
TST LR,#0x10 // Check if extended stack frame
|
TST LR,#0x10 // Check if extended stack frame
|
||||||
IT EQ
|
IT EQ
|
||||||
VLDMIAEQ R0!,{S16-S31} // Restore VFP S16..S31
|
VLDMIAEQ R0!,{S16-S31} // Restore VFP S16..S31
|
||||||
#endif
|
|
||||||
LDMIA R0!,{R4-R11} // Restore R4..R11
|
LDMIA R0!,{R4-R11} // Restore R4..R11
|
||||||
MSR PSP,R0 // Set PSP
|
MSR PSP,R0 // Set PSP
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -297,5 +297,3 @@ Sys_ContextRestore2
|
||||||
|
|
||||||
Sys_ContextExit
|
Sys_ContextExit
|
||||||
BX LR ; Exit from handler
|
BX LR ; Exit from handler
|
||||||
|
|
||||||
END
|
|
||||||
|
|
|
||||||
|
|
@ -270,5 +270,3 @@ Sys_ContextRestore2
|
||||||
|
|
||||||
Sys_ContextExit
|
Sys_ContextExit
|
||||||
BX LR ; Exit from handler
|
BX LR ; Exit from handler
|
||||||
|
|
||||||
END
|
|
||||||
|
|
|
||||||
|
|
@ -74,22 +74,17 @@ SVC_Context
|
||||||
CBNZ R1,SVC_ContextSave ; Branch if running thread is not deleted
|
CBNZ R1,SVC_ContextSave ; Branch if running thread is not deleted
|
||||||
TST LR,#0x10 ; Check if extended stack frame
|
TST LR,#0x10 ; Check if extended stack frame
|
||||||
BNE SVC_ContextSwitch
|
BNE SVC_ContextSwitch
|
||||||
#ifdef __FPU_PRESENT
|
|
||||||
LDR R1,=0xE000EF34 ; FPCCR Address
|
LDR R1,=0xE000EF34 ; FPCCR Address
|
||||||
LDR R0,[R1] ; Load FPCCR
|
LDR R0,[R1] ; Load FPCCR
|
||||||
BIC R0,R0,#1 ; Clear LSPACT (Lazy state)
|
BIC R0,R0,#1 ; Clear LSPACT (Lazy state)
|
||||||
STR R0,[R1] ; Store FPCCR
|
STR R0,[R1] ; Store FPCCR
|
||||||
B SVC_ContextSwitch
|
B SVC_ContextSwitch
|
||||||
#endif
|
|
||||||
|
|
||||||
SVC_ContextSave
|
SVC_ContextSave
|
||||||
STMDB R12!,{R4-R11} ; Save R4..R11
|
STMDB R12!,{R4-R11} ; Save R4..R11
|
||||||
#ifdef __FPU_PRESENT
|
|
||||||
TST LR,#0x10 ; Check if extended stack frame
|
TST LR,#0x10 ; Check if extended stack frame
|
||||||
IT EQ
|
IT EQ
|
||||||
VSTMDBEQ R12!,{S16-S31} ; Save VFP S16.S31
|
VSTMDBEQ R12!,{S16-S31} ; Save VFP S16.S31
|
||||||
#endif
|
|
||||||
|
|
||||||
STR R12,[R1,#TCB_SP_OFS] ; Store SP
|
STR R12,[R1,#TCB_SP_OFS] ; Store SP
|
||||||
STRB LR, [R1,#TCB_SF_OFS] ; Store stack frame information
|
STRB LR, [R1,#TCB_SF_OFS] ; Store stack frame information
|
||||||
|
|
||||||
|
|
@ -101,11 +96,9 @@ SVC_ContextRestore
|
||||||
LDR R0,[R2,#TCB_SP_OFS] ; Load SP
|
LDR R0,[R2,#TCB_SP_OFS] ; Load SP
|
||||||
ORR LR,R1,#0xFFFFFF00 ; Set EXC_RETURN
|
ORR LR,R1,#0xFFFFFF00 ; Set EXC_RETURN
|
||||||
|
|
||||||
#ifdef __FPU_PRESENT
|
|
||||||
TST LR,#0x10 ; Check if extended stack frame
|
TST LR,#0x10 ; Check if extended stack frame
|
||||||
IT EQ
|
IT EQ
|
||||||
VLDMIAEQ R0!,{S16-S31} ; Restore VFP S16..S31
|
VLDMIAEQ R0!,{S16-S31} ; Restore VFP S16..S31
|
||||||
#endif
|
|
||||||
LDMIA R0!,{R4-R11} ; Restore R4..R11
|
LDMIA R0!,{R4-R11} ; Restore R4..R11
|
||||||
MSR PSP,R0 ; Set PSP
|
MSR PSP,R0 ; Set PSP
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue