mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-04-19 21:11:57 -04:00
Remove clrex instruction from Cortex-M ports again as it is implicit in interrupt entry.
This commit is contained in:
parent
c296e2cff8
commit
bdbf347c22
|
@ -123,9 +123,6 @@ xPortPendSVHandler: .asmfunc
|
||||||
;/* Save the new top of stack into the first member of the TCB. */
|
;/* Save the new top of stack into the first member of the TCB. */
|
||||||
str r0, [r2]
|
str r0, [r2]
|
||||||
|
|
||||||
;/* Ensure thread safety of atomic operations. */
|
|
||||||
clrex
|
|
||||||
|
|
||||||
stmdb sp!, {r3}
|
stmdb sp!, {r3}
|
||||||
ldr r0, ulMaxSyscallInterruptPriorityConst
|
ldr r0, ulMaxSyscallInterruptPriorityConst
|
||||||
ldr r1, [r0]
|
ldr r1, [r0]
|
||||||
|
|
|
@ -410,7 +410,6 @@ void xPortPendSVHandler( void )
|
||||||
" \n"
|
" \n"
|
||||||
" stmdb r0!, {r4-r11} \n" /* Save the remaining registers. */
|
" stmdb r0!, {r4-r11} \n" /* Save the remaining registers. */
|
||||||
" str r0, [r2] \n" /* Save the new top of stack into the first member of the TCB. */
|
" str r0, [r2] \n" /* Save the new top of stack into the first member of the TCB. */
|
||||||
" clrex \n" /* Ensure thread safety of atomic operations. */
|
|
||||||
" \n"
|
" \n"
|
||||||
" stmdb sp!, {r3, r14} \n"
|
" stmdb sp!, {r3, r14} \n"
|
||||||
" mov r0, %0 \n"
|
" mov r0, %0 \n"
|
||||||
|
|
|
@ -450,7 +450,6 @@ void xPortPendSVHandler( void )
|
||||||
" mrs r1, control \n"
|
" mrs r1, control \n"
|
||||||
" stmdb r0!, {r1, r4-r11} \n" /* Save the remaining registers. */
|
" stmdb r0!, {r1, r4-r11} \n" /* Save the remaining registers. */
|
||||||
" str r0, [r2] \n" /* Save the new top of stack into the first member of the TCB. */
|
" str r0, [r2] \n" /* Save the new top of stack into the first member of the TCB. */
|
||||||
" clrex \n" /* Ensure thread safety of atomic operations. */
|
|
||||||
" \n"
|
" \n"
|
||||||
" stmdb sp!, {r3, r14} \n"
|
" stmdb sp!, {r3, r14} \n"
|
||||||
" mov r0, %0 \n"
|
" mov r0, %0 \n"
|
||||||
|
|
|
@ -450,7 +450,6 @@ void xPortPendSVHandler( void )
|
||||||
" \n"
|
" \n"
|
||||||
" stmdb r0!, {r4-r11, r14} \n" /* Save the core registers. */
|
" stmdb r0!, {r4-r11, r14} \n" /* Save the core registers. */
|
||||||
" str r0, [r2] \n" /* Save the new top of stack into the first member of the TCB. */
|
" str r0, [r2] \n" /* Save the new top of stack into the first member of the TCB. */
|
||||||
" clrex \n" /* Ensure thread safety of atomic operations. */
|
|
||||||
" \n"
|
" \n"
|
||||||
" stmdb sp!, {r3} \n"
|
" stmdb sp!, {r3} \n"
|
||||||
" mov r0, %0 \n"
|
" mov r0, %0 \n"
|
||||||
|
|
|
@ -477,7 +477,6 @@ void xPortPendSVHandler( void )
|
||||||
" mrs r1, control \n"
|
" mrs r1, control \n"
|
||||||
" stmdb r0!, {r1, r4-r11, r14} \n" /* Save the remaining registers. */
|
" stmdb r0!, {r1, r4-r11, r14} \n" /* Save the remaining registers. */
|
||||||
" str r0, [r2] \n" /* Save the new top of stack into the first member of the TCB. */
|
" str r0, [r2] \n" /* Save the new top of stack into the first member of the TCB. */
|
||||||
" clrex \n" /* Ensure thread safety of atomic operations. */
|
|
||||||
" \n"
|
" \n"
|
||||||
" stmdb sp!, {r3} \n"
|
" stmdb sp!, {r3} \n"
|
||||||
" mov r0, %0 \n"
|
" mov r0, %0 \n"
|
||||||
|
|
|
@ -438,7 +438,6 @@ void xPortPendSVHandler( void )
|
||||||
" \n"
|
" \n"
|
||||||
" stmdb r0!, {r4-r11, r14} \n" /* Save the core registers. */
|
" stmdb r0!, {r4-r11, r14} \n" /* Save the core registers. */
|
||||||
" str r0, [r2] \n" /* Save the new top of stack into the first member of the TCB. */
|
" str r0, [r2] \n" /* Save the new top of stack into the first member of the TCB. */
|
||||||
" clrex \n" /* Ensure thread safety of atomic operations. */
|
|
||||||
" \n"
|
" \n"
|
||||||
" stmdb sp!, {r3} \n"
|
" stmdb sp!, {r3} \n"
|
||||||
" mov r0, %0 \n"
|
" mov r0, %0 \n"
|
||||||
|
|
|
@ -91,7 +91,6 @@ xPortPendSVHandler:
|
||||||
|
|
||||||
stmdb r0!, {r4-r11} /* Save the remaining registers. */
|
stmdb r0!, {r4-r11} /* Save the remaining registers. */
|
||||||
str r0, [r2] /* Save the new top of stack into the first member of the TCB. */
|
str r0, [r2] /* Save the new top of stack into the first member of the TCB. */
|
||||||
clrex /* Ensure thread safety of atomic operations. */
|
|
||||||
|
|
||||||
stmdb sp!, {r3, r14}
|
stmdb sp!, {r3, r14}
|
||||||
mov r0, #configMAX_SYSCALL_INTERRUPT_PRIORITY
|
mov r0, #configMAX_SYSCALL_INTERRUPT_PRIORITY
|
||||||
|
|
|
@ -101,9 +101,6 @@ xPortPendSVHandler:
|
||||||
/* Save the new top of stack into the first member of the TCB. */
|
/* Save the new top of stack into the first member of the TCB. */
|
||||||
str r0, [r2]
|
str r0, [r2]
|
||||||
|
|
||||||
/* Ensure thread safety of atomic operations. */
|
|
||||||
clrex
|
|
||||||
|
|
||||||
stmdb sp!, {r3}
|
stmdb sp!, {r3}
|
||||||
mov r0, #configMAX_SYSCALL_INTERRUPT_PRIORITY
|
mov r0, #configMAX_SYSCALL_INTERRUPT_PRIORITY
|
||||||
msr basepri, r0
|
msr basepri, r0
|
||||||
|
|
|
@ -101,9 +101,6 @@ xPortPendSVHandler:
|
||||||
/* Save the new top of stack into the first member of the TCB. */
|
/* Save the new top of stack into the first member of the TCB. */
|
||||||
str r0, [r2]
|
str r0, [r2]
|
||||||
|
|
||||||
/* Ensure thread safety of atomic operations. */
|
|
||||||
clrex
|
|
||||||
|
|
||||||
stmdb sp!, {r3}
|
stmdb sp!, {r3}
|
||||||
mov r0, #configMAX_SYSCALL_INTERRUPT_PRIORITY
|
mov r0, #configMAX_SYSCALL_INTERRUPT_PRIORITY
|
||||||
cpsid i
|
cpsid i
|
||||||
|
|
|
@ -458,8 +458,6 @@ void xPortPendSVHandler( void ) iv IVT_INT_PendSV ics ICS_OFF
|
||||||
|
|
||||||
str r0, [r2] /* Save the new top of stack into the first member of the TCB. */
|
str r0, [r2] /* Save the new top of stack into the first member of the TCB. */
|
||||||
|
|
||||||
clrex /* Ensure thread safety of atomic operations. */
|
|
||||||
|
|
||||||
stmdb sp!, (r3)
|
stmdb sp!, (r3)
|
||||||
ldr r0, =_ucMaxSyscallInterruptPriority
|
ldr r0, =_ucMaxSyscallInterruptPriority
|
||||||
ldr r1, [r0]
|
ldr r1, [r0]
|
||||||
|
|
|
@ -407,7 +407,6 @@ __asm void xPortPendSVHandler( void )
|
||||||
|
|
||||||
stmdb r0!, {r4-r11} /* Save the remaining registers. */
|
stmdb r0!, {r4-r11} /* Save the remaining registers. */
|
||||||
str r0, [r2] /* Save the new top of stack into the first member of the TCB. */
|
str r0, [r2] /* Save the new top of stack into the first member of the TCB. */
|
||||||
clrex /* Ensure thread safety of atomic operations. */
|
|
||||||
|
|
||||||
stmdb sp!, {r3, r14}
|
stmdb sp!, {r3, r14}
|
||||||
mov r0, #configMAX_SYSCALL_INTERRUPT_PRIORITY
|
mov r0, #configMAX_SYSCALL_INTERRUPT_PRIORITY
|
||||||
|
|
|
@ -479,9 +479,6 @@ __asm void xPortPendSVHandler( void )
|
||||||
/* Save the new top of stack into the first member of the TCB. */
|
/* Save the new top of stack into the first member of the TCB. */
|
||||||
str r0, [r2]
|
str r0, [r2]
|
||||||
|
|
||||||
/* Ensure thread safety of atomic operations. */
|
|
||||||
clrex
|
|
||||||
|
|
||||||
stmdb sp!, {r3}
|
stmdb sp!, {r3}
|
||||||
mov r0, #configMAX_SYSCALL_INTERRUPT_PRIORITY
|
mov r0, #configMAX_SYSCALL_INTERRUPT_PRIORITY
|
||||||
msr basepri, r0
|
msr basepri, r0
|
||||||
|
|
|
@ -492,7 +492,6 @@ __asm void xPortPendSVHandler( void )
|
||||||
mrs r1, control
|
mrs r1, control
|
||||||
stmdb r0!, {r1, r4-r11, r14} /* Save the remaining registers. */
|
stmdb r0!, {r1, r4-r11, r14} /* Save the remaining registers. */
|
||||||
str r0, [r2] /* Save the new top of stack into the first member of the TCB. */
|
str r0, [r2] /* Save the new top of stack into the first member of the TCB. */
|
||||||
clrex /* Ensure thread safety of atomic operations. */
|
|
||||||
|
|
||||||
stmdb sp!, {r3}
|
stmdb sp!, {r3}
|
||||||
mov r0, #configMAX_SYSCALL_INTERRUPT_PRIORITY
|
mov r0, #configMAX_SYSCALL_INTERRUPT_PRIORITY
|
||||||
|
|
|
@ -463,9 +463,6 @@ __asm void xPortPendSVHandler( void )
|
||||||
/* Save the new top of stack into the first member of the TCB. */
|
/* Save the new top of stack into the first member of the TCB. */
|
||||||
str r0, [r2]
|
str r0, [r2]
|
||||||
|
|
||||||
/* Ensure thread safety of atomic operations. */
|
|
||||||
clrex
|
|
||||||
|
|
||||||
stmdb sp!, {r3}
|
stmdb sp!, {r3}
|
||||||
mov r0, #configMAX_SYSCALL_INTERRUPT_PRIORITY
|
mov r0, #configMAX_SYSCALL_INTERRUPT_PRIORITY
|
||||||
cpsid i
|
cpsid i
|
||||||
|
|
Loading…
Reference in a new issue