aboutsummaryrefslogtreecommitdiffstats
path: root/ports/ARM7/chsys.s
diff options
context:
space:
mode:
Diffstat (limited to 'ports/ARM7/chsys.s')
-rw-r--r--ports/ARM7/chsys.s20
1 files changed, 16 insertions, 4 deletions
diff --git a/ports/ARM7/chsys.s b/ports/ARM7/chsys.s
index d1de7d100..8af9e4b4e 100644
--- a/ports/ARM7/chsys.s
+++ b/ports/ARM7/chsys.s
@@ -44,19 +44,31 @@
.balign 16
.code 16
.thumb_func
-.global chSysLock
-chSysLock:
+.global _lock
+_lock:
mov r0, pc
bx r0
.code 32
+ mrs r0, CPSR
msr CPSR_c, #MODE_SYS | I_BIT
bx lr
.balign 16
.code 16
.thumb_func
-.global chSysUnlock
-chSysUnlock:
+.global _unlock
+_unlock:
+ mov r1, pc
+ bx r1
+.code 32
+ msr CPSR_c, r0
+ bx lr
+
+.balign 16
+.code 16
+.thumb_func
+.global _enable
+_enable:
mov r0, pc
bx r0
.code 32