[libcpu/arm]: add dsb and isb instructions in the end of rt_hw_context_switch_to (#5748)
This commit is contained in:
parent
6b56515249
commit
b1a9c4c4ea
|
@ -180,6 +180,10 @@ rt_hw_context_switch_to:
|
|||
/* enable interrupts at processor level */
|
||||
CPSIE I
|
||||
|
||||
/* ensure PendSV exception taken place before subsequent operation */
|
||||
DSB
|
||||
ISB
|
||||
|
||||
/* never reach here! */
|
||||
|
||||
/* compatible with old version */
|
||||
|
|
|
@ -186,6 +186,10 @@ rt_hw_context_switch_to:
|
|||
; enable interrupts at processor level
|
||||
CPSIE I
|
||||
|
||||
; ensure PendSV exception taken place before subsequent operation
|
||||
DSB
|
||||
ISB
|
||||
|
||||
; never reach here!
|
||||
|
||||
; compatible with old version
|
||||
|
|
|
@ -189,6 +189,10 @@ rt_hw_context_switch_to PROC
|
|||
; enable interrupts at processor level
|
||||
CPSIE I
|
||||
|
||||
; ensure PendSV exception taken place before subsequent operation
|
||||
DSB
|
||||
ISB
|
||||
|
||||
; never reach here!
|
||||
ENDP
|
||||
|
||||
|
|
|
@ -181,6 +181,10 @@ rt_hw_context_switch_to:
|
|||
/* enable interrupts at processor level */
|
||||
CPSIE I
|
||||
|
||||
/* ensure PendSV exception taken place before subsequent operation */
|
||||
DSB
|
||||
ISB
|
||||
|
||||
/* never reach here! */
|
||||
|
||||
/* compatible with old version */
|
||||
|
|
|
@ -187,6 +187,10 @@ rt_hw_context_switch_to:
|
|||
; enable interrupts at processor level
|
||||
CPSIE I
|
||||
|
||||
; ensure PendSV exception taken place before subsequent operation
|
||||
DSB
|
||||
ISB
|
||||
|
||||
; never reach here!
|
||||
|
||||
; compatible with old version
|
||||
|
|
|
@ -190,6 +190,10 @@ rt_hw_context_switch_to PROC
|
|||
; enable interrupts at processor level
|
||||
CPSIE I
|
||||
|
||||
; ensure PendSV exception taken place before subsequent operation
|
||||
DSB
|
||||
ISB
|
||||
|
||||
; never reach here!
|
||||
ENDP
|
||||
|
||||
|
|
|
@ -162,6 +162,10 @@ rt_hw_context_switch_to:
|
|||
CPSIE F
|
||||
CPSIE I
|
||||
|
||||
/* ensure PendSV exception taken place before subsequent operation */
|
||||
DSB
|
||||
ISB
|
||||
|
||||
/* never reach here! */
|
||||
|
||||
/* compatible with old version */
|
||||
|
|
|
@ -161,6 +161,10 @@ rt_hw_context_switch_to:
|
|||
CPSIE F
|
||||
CPSIE I
|
||||
|
||||
; ensure PendSV exception taken place before subsequent operation
|
||||
DSB
|
||||
ISB
|
||||
|
||||
; never reach here!
|
||||
|
||||
; compatible with old version
|
||||
|
|
|
@ -167,6 +167,10 @@ rt_hw_context_switch_to PROC
|
|||
CPSIE F
|
||||
CPSIE I
|
||||
|
||||
; ensure PendSV exception taken place before subsequent operation
|
||||
DSB
|
||||
ISB
|
||||
|
||||
; never reach here!
|
||||
ENDP
|
||||
|
||||
|
|
|
@ -249,6 +249,10 @@ rt_hw_context_switch_to:
|
|||
CPSIE F
|
||||
CPSIE I
|
||||
|
||||
/* ensure PendSV exception taken place before subsequent operation */
|
||||
DSB
|
||||
ISB
|
||||
|
||||
/* never reach here! */
|
||||
|
||||
/* compatible with old version */
|
||||
|
|
|
@ -253,6 +253,10 @@ rt_hw_context_switch_to:
|
|||
CPSIE F
|
||||
CPSIE I
|
||||
|
||||
; ensure PendSV exception taken place before subsequent operation
|
||||
DSB
|
||||
ISB
|
||||
|
||||
; never reach here!
|
||||
|
||||
; compatible with old version
|
||||
|
|
|
@ -254,6 +254,10 @@ rt_hw_context_switch_to PROC
|
|||
CPSIE F
|
||||
CPSIE I
|
||||
|
||||
; ensure PendSV exception taken place before subsequent operation
|
||||
DSB
|
||||
ISB
|
||||
|
||||
; never reach here!
|
||||
ENDP
|
||||
|
||||
|
|
|
@ -208,6 +208,10 @@ rt_hw_context_switch_to:
|
|||
CPSIE F
|
||||
CPSIE I
|
||||
|
||||
/* ensure PendSV exception taken place before subsequent operation */
|
||||
DSB
|
||||
ISB
|
||||
|
||||
/* never reach here! */
|
||||
|
||||
/* compatible with old version */
|
||||
|
|
|
@ -208,6 +208,10 @@ rt_hw_context_switch_to:
|
|||
CPSIE F
|
||||
CPSIE I
|
||||
|
||||
; ensure PendSV exception taken place before subsequent operation
|
||||
DSB
|
||||
ISB
|
||||
|
||||
; never reach here!
|
||||
|
||||
; compatible with old version
|
||||
|
|
|
@ -208,6 +208,10 @@ rt_hw_context_switch_to PROC
|
|||
CPSIE F
|
||||
CPSIE I
|
||||
|
||||
; ensure PendSV exception taken place before subsequent operation
|
||||
DSB
|
||||
ISB
|
||||
|
||||
; never reach here!
|
||||
ENDP
|
||||
|
||||
|
|
|
@ -208,6 +208,10 @@ rt_hw_context_switch_to:
|
|||
CPSIE F
|
||||
CPSIE I
|
||||
|
||||
/* ensure PendSV exception taken place before subsequent operation */
|
||||
DSB
|
||||
ISB
|
||||
|
||||
/* never reach here! */
|
||||
|
||||
/* compatible with old version */
|
||||
|
|
|
@ -208,6 +208,10 @@ rt_hw_context_switch_to:
|
|||
CPSIE F
|
||||
CPSIE I
|
||||
|
||||
; ensure PendSV exception taken place before subsequent operation
|
||||
DSB
|
||||
ISB
|
||||
|
||||
; never reach here!
|
||||
|
||||
; compatible with old version
|
||||
|
|
|
@ -208,6 +208,10 @@ rt_hw_context_switch_to PROC
|
|||
CPSIE F
|
||||
CPSIE I
|
||||
|
||||
; ensure PendSV exception taken place before subsequent operation
|
||||
DSB
|
||||
ISB
|
||||
|
||||
; never reach here!
|
||||
ENDP
|
||||
|
||||
|
|
Loading…
Reference in New Issue