From f30a0ebd689671cd2bb0740742c9cb3f6e26dbf6 Mon Sep 17 00:00:00 2001 From: Curle Date: Thu, 3 Sep 2020 21:37:03 +0100 Subject: [PATCH] Add defs required for kernel to compile --- chroma/inc/kernel/chroma.h | 6 ++++++ chroma/kernel.c | 13 ++++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/chroma/inc/kernel/chroma.h b/chroma/inc/kernel/chroma.h index e22fa31..8a2f7b7 100644 --- a/chroma/inc/kernel/chroma.h +++ b/chroma/inc/kernel/chroma.h @@ -19,12 +19,16 @@ #include #include +#include + extern size_t LoadAddr; extern bootinfo bootldr; extern unsigned char* environment; extern uint8_t fb; extern volatile unsigned char _binary_font_psf_start; +extern address_space_t KernelAddressSpace; + typedef struct { uint32_t magic; uint32_t version; @@ -62,3 +66,5 @@ void SetupIDT(); int Main(); void Exit(); + +void SomethingWentWrong(const char* Message); \ No newline at end of file diff --git a/chroma/kernel.c b/chroma/kernel.c index b82b5c2..d60261e 100644 --- a/chroma/kernel.c +++ b/chroma/kernel.c @@ -1,4 +1,5 @@ #include +#include /************************ *** Team Kitty, 2020 *** @@ -15,16 +16,17 @@ size_t KernelAddr = (size_t) &LoadAddr; size_t KernelEnd = (size_t) &end; +address_space_t KernelAddressSpace; int Main(void) { - + KernelAddressSpace = (address_space_t) {0}; SerialPrintf("\r\nBooting Chroma..\r\n"); SerialPrintf("Kernel loaded at 0x%p, ends at 0x%p, is %d bytes long.\r\n", KernelAddr, KernelEnd, KernelEnd - KernelAddr); SerialPrintf("The bootloader has put the paging tables at 0x%p.\r\n", ReadControlRegister(3)); - TraversePageTables(); + //TraversePageTables(); ListMemoryMap(); @@ -39,7 +41,8 @@ int Main(void) { PCIEnumerate(); InitMemoryManager(); - MemoryTest(); + + DrawSplash(); InitPaging(); @@ -50,6 +53,10 @@ int Main(void) { } +void SomethingWentWrong(const char* Message) { + SerialPrintf("Assertion failed! %s\r\n", Message); + //for(;;){} +} void Exit(int ExitCode) { SerialPrintf("Kernel stopped with code %x\r\n", ExitCode);