aboutsummaryrefslogtreecommitdiff
path: root/src/sys/schedule.S
diff options
context:
space:
mode:
Diffstat (limited to 'src/sys/schedule.S')
-rw-r--r--src/sys/schedule.S8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/sys/schedule.S b/src/sys/schedule.S
index 6b6ef1c..a4c07c4 100644
--- a/src/sys/schedule.S
+++ b/src/sys/schedule.S
@@ -6,8 +6,8 @@
.macro preserve_ctx
cps #0x1f // Sys mode
// Store Usr regs
- stmfd sp!, {r0-r12}
- stmfd sp!, {lr}
+ push {r0-r12}
+ push {lr}
ldr r3, =scheduler // struct Scheduler
ldr r2, [r3, #0] // struct Thread* rthread
str lr, [r2, #0] // svc_lr -> void* pc
@@ -23,8 +23,8 @@
cps #0x1f // Sys mode
mov sp, r0 // Set stack pointer
// Restore Usr regs
- ldmfd sp!, {lr}
- ldmfd sp!, {r0-r12}
+ pop {lr}
+ pop {r0-r12}
cps #0x13 // Svc mode
.endm