diff options
| author | Aleksa Vuckovic <aleksav013@gmail.com> | 2022-08-05 14:33:51 +0200 |
|---|---|---|
| committer | Aleksa Vuckovic <aleksav013@gmail.com> | 2022-08-05 14:33:51 +0200 |
| commit | bd7d4366b6643b5c6cd04f40dd32f5d9c9575fd6 (patch) | |
| tree | 92429e897be007d46c8f063a39a986df2124111a /kernel/multiboot2.c | |
| parent | be3274c49d0ca5e31daa855c4c109d830fdead67 (diff) | |
organised files; switched to recursive make
Diffstat (limited to 'kernel/multiboot2.c')
| -rw-r--r-- | kernel/multiboot2.c | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/kernel/multiboot2.c b/kernel/multiboot2.c deleted file mode 100644 index e228ce1..0000000 --- a/kernel/multiboot2.c +++ /dev/null @@ -1,41 +0,0 @@ -#include <stdint.h> -#include <multiboot2.h> -#include <graphics.h> - -fb_t fb; - -/* https://www.gnu.org/software/grub/manual/multiboot2/html_node/Boot-information-format.html */ - -void init_fb(mb2_tag_header* multiboot_bootinfo, uint32_t multiboot_magic) -{ - if (multiboot_magic != MB2_MAGIC) { - // not loaded by multiboot2 bootloader - __asm__ volatile ("hlt;"); - } - - // we will store framebuffer information here - static mb2_tag_fb* tag_fb; - - // skip first 8 bytes (total_size + reserved) - mb2_tag_header* tag_header = multiboot_bootinfo + 1; - - while (tag_header->type != MB2_TAG_END) { - // process tag_type - switch(tag_header->type) { - case MB2_TAG_FB: - tag_fb = (mb2_tag_fb*)tag_header; - break; - default: - break; - } - - // next mb2_tag - tag_header += tag_header->size / 8 + ((tag_header->size % 8) > 0); - } - - fb.addr = tag_fb->framebuffer_addr; - fb.width = tag_fb->framebuffer_width; - fb.height = tag_fb->framebuffer_height; - fb.pitch = tag_fb->framebuffer_pitch; - fb.bpp = tag_fb->framebuffer_bpp; -} |
