diff options
Diffstat (limited to 'os/ports')
-rw-r--r-- | os/ports/IAR/ARMCMx/chcoreasm_v6m.s | 8 | ||||
-rw-r--r-- | os/ports/RVCT/ARMCMx/chcoreasm_v6m.s | 2 |
2 files changed, 5 insertions, 5 deletions
diff --git a/os/ports/IAR/ARMCMx/chcoreasm_v6m.s b/os/ports/IAR/ARMCMx/chcoreasm_v6m.s index 5f0887960..07d89e6b5 100644 --- a/os/ports/IAR/ARMCMx/chcoreasm_v6m.s +++ b/os/ports/IAR/ARMCMx/chcoreasm_v6m.s @@ -111,20 +111,20 @@ _port_irq_epilogue: subs r3, r3, #1
str r3, [r2]
cmp r3, #0
- beq .L34
+ beq skipexit
+notrequired
cpsie i
pop {r4, pc}
-.L34:
+skipexit
bl chSchIsRescRequiredExI
cmp r0, #0
- beq .L31
+ beq notrequired
mrs r1, PSP
ldr r2, =_port_saved_pc
ldr r3, [r1, #24]
str r3, [r2]
ldr r3, =_port_switch_from_isr
str r3, [r1, #24]
-.L31:
pop {r4, pc}
END
diff --git a/os/ports/RVCT/ARMCMx/chcoreasm_v6m.s b/os/ports/RVCT/ARMCMx/chcoreasm_v6m.s index e813d7eca..8f348f099 100644 --- a/os/ports/RVCT/ARMCMx/chcoreasm_v6m.s +++ b/os/ports/RVCT/ARMCMx/chcoreasm_v6m.s @@ -110,6 +110,7 @@ _port_irq_epilogue PROC str r3, [r2]
cmp r3, #0
beq skipexit
+notrequired
cpsie i
pop {r4, pc}
skipexit
@@ -122,7 +123,6 @@ skipexit str r3, [r2]
ldr r3, =_port_switch_from_isr
str r3, [r1, #24]
-notrequired
pop {r4, pc}
nop
ENDP
|