From 55b3af4989e7908472d1dbfb3fe1bdd6e43262e1 Mon Sep 17 00:00:00 2001 From: Michal Idziorek Date: Fri, 24 Oct 2014 13:59:06 +0200 Subject: moved kernel and ramimage to 0x100000 successfully chs is broken however and only the first chunk seems to get loaded properly :( --- kernel/config.h | 2 +- kernel/kernel.c | 10 +++++----- kernel/syscalls.c | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) (limited to 'kernel') diff --git a/kernel/config.h b/kernel/config.h index 019ef34..bbe0672 100644 --- a/kernel/config.h +++ b/kernel/config.h @@ -1,4 +1,4 @@ //#define FOOLOS_COMPILE_FLOPPY #define FOOLOS_CONSOLE_AUTOBREAK //add newline automatically at end of line -#define FOOLOS_LOG_OFF // do not log anythong +//#define FOOLOS_LOG_OFF // do not log anythong diff --git a/kernel/kernel.c b/kernel/kernel.c index 208d1cd..4452e3e 100644 --- a/kernel/kernel.c +++ b/kernel/kernel.c @@ -8,6 +8,8 @@ #include "smp.h" #include "time.h" +#include "fs/fs.h" + #ifdef FOOLOS_COMPILE_FLOPPY #include "floppy.h" #endif @@ -46,8 +48,6 @@ volatile int16_t mouse_y; void kernel_main(uint32_t initial_stack, int mp) { - - /// TODO /////// SYMMETRIC MULTIPROCESSING, APS get caought here, move it away /// // catch the APs (Application Processors) @@ -94,7 +94,7 @@ void kernel_main(uint32_t initial_stack, int mp) // this function returns the physical base address of // our video memory // - uint32_t vesa_physbase=vesa_init(0x8300,0x8400,0x80000+0x200); + uint32_t vesa_physbase=vesa_init(0x8300,0x8400,0x168000+512);//0x80000+0x200); // self-log message of logger :P log_log(); @@ -196,8 +196,8 @@ void kernel_main(uint32_t initial_stack, int mp) // //vesa_init_doublebuff(); - ext2_check(0x80800); - syscall_execve(15,0,0); + ext2_check(EXT2_RAM_ADDRESS); + //syscall_execve(15,0,0); // Just hang around here, if its reached. // we do our tasks anyway. on the next clock tick. diff --git a/kernel/syscalls.c b/kernel/syscalls.c index 564a604..b151627 100644 --- a/kernel/syscalls.c +++ b/kernel/syscalls.c @@ -47,7 +47,7 @@ int syscall_readdir(const char *name,fs_dirent *dirs,int max) int syscall_execve(char *name, char **argv, char **env) { - ext2_inode_content(0x80800,name,0x100000,0x100000); + ext2_inode_content(EXT2_RAM_ADDRESS,name,0x800000,0x100000); // autorun "user-space" prog asm("push $0x100000"); -- cgit v1.2.3