summaryrefslogtreecommitdiff
path: root/kernel/kernel.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/kernel.c')
-rw-r--r--kernel/kernel.c30
1 files changed, 24 insertions, 6 deletions
diff --git a/kernel/kernel.c b/kernel/kernel.c
index a3df0b3..0a4b863 100644
--- a/kernel/kernel.c
+++ b/kernel/kernel.c
@@ -28,14 +28,33 @@
#include "video/vesa.h"
#include "multiboot.h"
+#include "terminal/vt52.h"
+
+
+//
+// The Foolish structure of Fool OS!
+//
+static fool_os foolos;
+
+fool_os *get_fool()
+{
+ return &foolos;
+}
+
void kernel_main(uint32_t eax,uint32_t ebx)
{
+
//
- // Init Console
- //
- console_init();
+ // Setup main tty
+ //
+ scr_clear();
+ term_screen screen;
+ screen.put_char=console_put_char;
+ vt52_tty tty=vt52_init(&screen);
+ get_fool()->tty1=&tty;
+
//
// PR
@@ -43,13 +62,11 @@ void kernel_main(uint32_t eax,uint32_t ebx)
log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"%s - compiled on %s at %s",KERNEL_VERSION,__DATE__,__TIME__);
-
//
// Configuring the PIT timer.
//
timer_init();
-
//
// GDT
//
@@ -98,6 +115,7 @@ void kernel_main(uint32_t eax,uint32_t ebx)
smp_start_aps(&procdata,"/boot/mp.bin"); //will be copied over mbr
+
//
// Activate Virtual Memory (paging)
//
@@ -112,13 +130,13 @@ void kernel_main(uint32_t eax,uint32_t ebx)
//pci_init();
+
//
// Initialize Multitasking
//
task_init(dir);
-
//
// Abvoe should never returon
//