diff options
Diffstat (limited to 'kernel/kernel.c')
| -rw-r--r-- | kernel/kernel.c | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/kernel/kernel.c b/kernel/kernel.c index 773ebad..ed632c3 100644 --- a/kernel/kernel.c +++ b/kernel/kernel.c @@ -66,8 +66,8 @@ void kernel_main(uint32_t initial_stack, int mp) // // Activate Virtual Memory (paging) - // - //vmem_init(); + // 0x8048000 is where user programms start! + vmem_init(); // // init output to screen @@ -83,8 +83,14 @@ void kernel_main(uint32_t initial_stack, int mp) // int_init(0x08); - - + //while(1); + + +/* char *mem=0x88047000; + *mem='x'; + + while(1); + */ // // Gather Info about other processors. (APs) @@ -106,8 +112,10 @@ void kernel_main(uint32_t initial_stack, int mp) // load and run foolshell // we will come back into the kernel only on interrupts... - asm("mov $0x05bff,%esp"); // set stack pointer - syscall_execve("/bin/foolshell",0,0); + + static char *argv[]={"/bin/foolshell",NULL}; + static char *env[]={"PATH=/bin","PWD=/home/miguel","PS1=$ ",NULL}; + syscall_execve("/bin/foolshell",argv,env); // |
