summaryrefslogtreecommitdiff
path: root/stage3/main.c
diff options
context:
space:
mode:
authorLizzy Fleckenstein <eliasfleckenstein@web.de>2022-10-06 16:45:17 +0200
committerLizzy Fleckenstein <eliasfleckenstein@web.de>2022-10-06 16:45:17 +0200
commitf8397815545adb7d0da36614e0065aa68453a2e4 (patch)
treea771f526970c6724b2511577dceece8783450a49 /stage3/main.c
downloadcuddles-f8397815545adb7d0da36614e0065aa68453a2e4.tar.xz
Initial commit
Diffstat (limited to 'stage3/main.c')
-rw-r--r--stage3/main.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/stage3/main.c b/stage3/main.c
new file mode 100644
index 0000000..7c84d05
--- /dev/null
+++ b/stage3/main.c
@@ -0,0 +1,34 @@
+#include "paging.h"
+#include "def.h"
+#include "gfx.h"
+#include "halt.h"
+
+void clear_screen(); // framebuffer.asm
+
+void kmain()
+{
+ clear_screen();
+
+ for (MemRegion *mmap = (void *) 0x500; mmap->start != nil; mmap++)
+ page_region(mmap);
+
+ page_region(&(MemRegion) {
+ .start = (void *) (u64) gfxinfo->framebuffer,
+ .size = gfxinfo->pitch * gfxinfo->height,
+ .type = MEM_RESERVED,
+ .zero = 0,
+ });
+
+ /*
+ for (u16 x = 0; x < gfxinfo->width; x++)
+ for (u16 y = 0; y < gfxinfo->height; y++)
+ set_pixel(x, y, 0x0087CEEB);
+ */
+
+ set_region(0, 0, gfxinfo->width, gfxinfo->height, 0x0087CEEB);
+
+ halt();
+}
+
+// 0xE0000000
+// 0xE03E8000