aboutsummaryrefslogtreecommitdiffstats
path: root/src/kernel/svc.c
diff options
context:
space:
mode:
authorClyne Sullivan <clyne@bitgloo.com>2020-01-24 09:15:46 -0500
committerClyne Sullivan <clyne@bitgloo.com>2020-01-24 09:15:46 -0500
commita5892b35233748b2fcff1f726314c9a8df749f9c (patch)
treea666f7f73b8926b2518b578b9416209395908a6e /src/kernel/svc.c
parent998b3ac86e3b3f926d81e768f1200815e9e3d148 (diff)
Reviewed stmos, made small format/doc fixes
Diffstat (limited to 'src/kernel/svc.c')
-rw-r--r--src/kernel/svc.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/kernel/svc.c b/src/kernel/svc.c
index 7c81e5f..358fa3d 100644
--- a/src/kernel/svc.c
+++ b/src/kernel/svc.c
@@ -31,6 +31,7 @@ extern void vfs_svc(uint32_t, uint32_t *, uint32_t *args);
void SVC_Handler(void) {
uint32_t *stack;
+ // Get the appropriate stack (either kernel or process)
asm("\
tst lr, #4; \
ite eq; \
@@ -44,13 +45,13 @@ void SVC_Handler(void) {
uint32_t *args = (uint32_t *)stack[2];
switch (svc_number) {
- case -1:
+ case -1: // TODO why?
case 0: /* Task-related calls
* 0 - _exit
* 1 - fork
* 2 - getpid
* 3 - waitpid
- * 4 - sbrk (TODO bad)
+ * 4 - sbrk (TODO poor implementation)
* 5 - execve
*/
task_svc(min_number, ret, args);