summaryrefslogtreecommitdiff
path: root/kernel/sys.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/sys.c')
-rw-r--r--kernel/sys.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/kernel/sys.c b/kernel/sys.c
index 3748e2b..8c33fdf 100644
--- a/kernel/sys.c
+++ b/kernel/sys.c
@@ -1,7 +1,9 @@
#include <errno.h>
#include <kernel/con.h>
+#include <kernel/sched.h>
#include <stdint.h>
#include <time.h>
+#include <unistd.h>
extern uint32_t ticks;
@@ -13,6 +15,18 @@ time_t sys_time(void) {
return ticks / 100;
}
+pid_t sys_getpid(void) {
+ return ctask->pid;
+}
+
+void *sys_getpdir(void) {
+ uint32_t pdir;
+
+ __asm__ ("mov %%cr3, %%eax" : "=a" (pdir));
+
+ return (void*) pdir;
+}
+
int sys_dummy(void) {
return -ENOSYS;
}