diff options
Diffstat (limited to 'kernel/sys.c')
| -rw-r--r-- | kernel/sys.c | 14 |
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; } |
