diff options
Diffstat (limited to 'ports/ARM7/chsys.s')
| -rw-r--r-- | ports/ARM7/chsys.s | 20 |
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
|
