summaryrefslogtreecommitdiff
path: root/kernel/usermode.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/usermode.c')
-rw-r--r--kernel/usermode.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/usermode.c b/kernel/usermode.c
index e4d22d3..745cef1 100644
--- a/kernel/usermode.c
+++ b/kernel/usermode.c
@@ -4,8 +4,9 @@
#include "syscalls.h"
+
tss_struct sys_tss; //Define the TSS as a global structure
-extern uint32_t stack_top[];
+
// generic syscall interface!
int syscall(int call, int p1, int p2, int p3)
@@ -46,7 +47,7 @@ void install_tss(int cpu_no){
// now fill each value
// set values necessary
sys_tss.ss0 = 0x10; //kernel data
- sys_tss.esp0 = stack_top; //kernel stack just under the kernel
+ sys_tss.esp0 = kballoc(4);
// now set the IO bitmap (not necessary, so set above limit)
// sys_tss.iomap = ( unsigned short ) sizeof( tss_struct );