aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristian Cunningham <cc@localhost>2022-02-01 17:19:16 -0700
committerChristian Cunningham <cc@localhost>2022-02-01 17:19:16 -0700
commit36f2d87ee57e841be5fe60f6430bdd167f9f03af (patch)
tree4668df28fa099cb1111cd7b4657ce7ef4c5db290 /src
parent352c8713ddb99f4b9f3c73b5b6b8bc9e83f6b6bd (diff)
Added spinlock condition
Diffstat (limited to 'src')
-rw-r--r--src/exceptions/svc.S5
1 files changed, 1 insertions, 4 deletions
diff --git a/src/exceptions/svc.S b/src/exceptions/svc.S
index a5e9982..d1fcbc0 100644
--- a/src/exceptions/svc.S
+++ b/src/exceptions/svc.S
@@ -5,9 +5,6 @@ svc:
stmfd sp!, {r0-r12,lr}
ldr r0, [lr, #-4]
bic r0, #0xFF000000
- // SVC #0 returns to supervisor mode
- // TODO: Make supervisor mode return to a specific location
- // (rather than to a user location) such as the kernel loop
cmp r0, #3
bgt svc_exit
beq svc_000003
@@ -27,7 +24,7 @@ svc_000002:
b schedule
svc_000003:
ldr r3, =scheduler
- ldr r2, [r3, #0]
+ ldr r2, [r3, #0] // struct Thread* rthread
ldr r1, [r2, #8] // sp_base
cmp r1, #-1
beq svc_exit