From 8fee35522dee033863f68c1d2b45f5fe988de9eb Mon Sep 17 00:00:00 2001 From: Loic Guegan Date: Thu, 8 Apr 2021 19:06:44 +0200 Subject: Handle clock interrupt and cleaning code --- src/boot/multiboot.c | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 src/boot/multiboot.c (limited to 'src/boot/multiboot.c') diff --git a/src/boot/multiboot.c b/src/boot/multiboot.c new file mode 100644 index 0000000..0309eb0 --- /dev/null +++ b/src/boot/multiboot.c @@ -0,0 +1,54 @@ +#include "multiboot.h" +#include "utils/mem.h" + +/// See boot.S +extern u8* MB_INFO; + +char mb_load_tag(char **data, char type){ + char *c_info_size=MB_INFO; + char *c_tag_type=c_info_size+8; + char *c_tag_size=c_info_size+12; + + int max_size=*((int*)c_info_size); + while(((int)c_tag_type-(int)MB_INFO)name=to_load; + return 0; + } + return 1; +} + +char mb_load_fb(MBI_TAG_FB *data){ + char *to_load; + if(!mb_load_tag(&to_load,8)){ + asm("mov %0, %%ecx;aa:;jmp aa;"::"r"(to_load)); + memcpy(to_load,data,8); + to_load+=8; + memcpy(to_load,&(data->framebuffer_addr),8); + return 0; + } + return 1; +} -- cgit v1.2.3