diff options
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/kernel.c | 1 | ||||
| -rw-r--r-- | kernel/usermode.c | 4 |
2 files changed, 2 insertions, 3 deletions
diff --git a/kernel/kernel.c b/kernel/kernel.c index 2ce84fb..5f6981b 100644 --- a/kernel/kernel.c +++ b/kernel/kernel.c @@ -70,7 +70,6 @@ void kernel_main(uint32_t eax,uint32_t ebx) uint32_t kernel_blocks=mem_init(info); - // // Activate Virtual Memory (paging) // diff --git a/kernel/usermode.c b/kernel/usermode.c index 339045d..76128d1 100644 --- a/kernel/usermode.c +++ b/kernel/usermode.c @@ -5,7 +5,7 @@ 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 +46,7 @@ void install_tss(int cpu_no){ // now fill each value // set values necessary sys_tss.ss0 = 0x10; //kernel data - sys_tss.esp0 = 0x9000; //kernel stack + sys_tss.esp0 = stack_top; //kernel stack just under the kernel // now set the IO bitmap (not necessary, so set above limit) // sys_tss.iomap = ( unsigned short ) sizeof( tss_struct ); |
