From a4ea0b14840ef5946408a3893f3f1c92ed57ae80 Mon Sep 17 00:00:00 2001 From: Jake Mannens Date: Wed, 20 Jun 2018 04:39:25 +1000 Subject: Added a very basic types.h header file that defines NULL, size_t and time_t. Moved the kernel's loading point down to address 0 in conventional memory and updated linker scripts accordingly. Began to experiment with loading a binary blob into extended memory (0x100000), switching to userspace mode, and executing it. --- kernel/kmain.c | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) (limited to 'kernel/kmain.c') diff --git a/kernel/kmain.c b/kernel/kmain.c index 5b10ee1..81fe741 100644 --- a/kernel/kmain.c +++ b/kernel/kmain.c @@ -1,27 +1,17 @@ -#include #include #include +#include -uint32_t ticks = 0; -#define millis() \ - (ticks * 10) +uint32_t ticks = 0; -void sleep(int ms) { - uint64_t t = millis() + ms; - while(millis() < t); -} +extern void userspace_init(void); void kmain(void) { con_init(); - printf("Kernel booting...\n"); - printf("Kernel booted!\n"); - - printf("PIC1 Mask: 0x%02x\n", inb(0x21)); + printf("Kernel booting...\n\n"); + printf("\nKernel booted!\n"); - while(1) { - sleep(500); - printf("Reliable 500ms tick!\n"); - } + userspace_init(); } -- cgit v1.3