diff options
| -rw-r--r-- | kernel/config.h | 4 | ||||
| -rw-r--r-- | kernel/console.c | 4 | ||||
| -rw-r--r-- | kernel/console.h | 3 | ||||
| -rw-r--r-- | kernel/kernel.c | 12 |
4 files changed, 14 insertions, 9 deletions
diff --git a/kernel/config.h b/kernel/config.h index 2e2a169..26d056d 100644 --- a/kernel/config.h +++ b/kernel/config.h @@ -8,8 +8,8 @@ #define FOOLOS_CONFIG_H #define FOOLOS_CONSOLE_AUTOBREAK // add newline automatically at end of line -#define FOOLOS_LOG_OFF // do not log anything -#define FOOLOS_CONSOLE // otherwise VESA will be used! +//#define FOOLOS_LOG_OFF // do not log anything +//#define FOOLOS_CONSOLE // otherwise VESA will be used! #define FOOLSOS_SHOW_VESAMODES #define MEM_PRINT_MEMORYMAP #define LOG_BUF_SIZE 4069 diff --git a/kernel/console.c b/kernel/console.c index e0e70a3..f363d9e 100644 --- a/kernel/console.c +++ b/kernel/console.c @@ -13,11 +13,12 @@ #include "video/console.h" -void console_init(){ +uint32_t console_init(){ scr_clear(); log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"init console"); int inode_nr=ext2_filename_to_inode(EXT2_RAM_ADDRESS,"/binfont.bin"); if(inode_nr!=-1)ext2_inode_content(EXT2_RAM_ADDRESS,inode_nr,0x8000000,0xffff); // load font; + return 0; } void console_del_char(){scr_backspace();} void console_put_char_gray(char c){scr_put_char(c,SCR_GRAY2);} @@ -38,6 +39,7 @@ void console_init(){ int inode_nr=ext2_filename_to_inode(EXT2_RAM_ADDRESS,"/binfont.bin"); if(inode_nr!=-1)ext2_inode_content(EXT2_RAM_ADDRESS,inode_nr,0x1300000,0xffff); // load font; uint32_t vesa_physbase=vesa_init(0xb000,0xc000,0x1300000); + return vesa_physbase; } void console_del_char(char c){PutConsoleChar('*',0xffffff);} diff --git a/kernel/console.h b/kernel/console.h index 8d19f77..e68a3b7 100644 --- a/kernel/console.h +++ b/kernel/console.h @@ -1,8 +1,9 @@ #ifndef CONSOLE_H #define CONSOLE_H +#include <stdint.h> -void console_init(); +uint32_t console_init(); void console_put_char_white(char); void console_put_char_red(char); void console_put_char_green(char); diff --git a/kernel/kernel.c b/kernel/kernel.c index 3bf238e..19c9611 100644 --- a/kernel/kernel.c +++ b/kernel/kernel.c @@ -43,18 +43,20 @@ void kernel_main(uint32_t initial_stack, int mp) mem_init((physical_address)0xa001,(int)(*((uint16_t *)(0xa000)))); // - // Activate Virtual Memory (paging) - pdirectory *dir=vmem_init(); - - // // init output to screen // - console_init(); + uint32_t physbase=console_init(); + + // + // Activate Virtual Memory (paging) + pdirectory *dir=vmem_init(); // log buffered messages to console log_log(); + while(1); + // // Setup Interrupts (code segment: 0x08) // |
