diff options
| author | Loic Guegan <manzerbredes@mailbox.org> | 2021-04-30 09:31:30 +0200 |
|---|---|---|
| committer | Loic Guegan <manzerbredes@mailbox.org> | 2021-04-30 09:31:30 +0200 |
| commit | 66f2ca62469eba4b46e1f19f54dde9476b08d956 (patch) | |
| tree | 0a419a62a6af21c593e9f6b0d632b5953bc58721 /src/boot | |
| parent | 717556178c2017e374ee1108e6b25a24507a1dde (diff) | |
Debug interrupts, allow to show bmp images
Diffstat (limited to 'src/boot')
| -rw-r--r-- | src/boot/multiboot2.cc | 9 | ||||
| -rw-r--r-- | src/boot/multiboot2.hpp | 10 |
2 files changed, 18 insertions, 1 deletions
diff --git a/src/boot/multiboot2.cc b/src/boot/multiboot2.cc index da247ad..0cc8a25 100644 --- a/src/boot/multiboot2.cc +++ b/src/boot/multiboot2.cc @@ -69,4 +69,13 @@ char mb2_find_framebuffer(u32* mb2_info_addr, FRAMEBUFFER *fb){ return 1; } return 0; +} + +char mb2_find_mem(u32* mb2_info_addr, MEM_INFO *mem){ + u32* addr=mb2_find_tag(mb2_info_addr,4); + if(addr){ + memcpy(addr, mem, sizeof(MEM_INFO)); + return 1; + } + return 0; }
\ No newline at end of file diff --git a/src/boot/multiboot2.hpp b/src/boot/multiboot2.hpp index f340269..f86c894 100644 --- a/src/boot/multiboot2.hpp +++ b/src/boot/multiboot2.hpp @@ -19,8 +19,16 @@ typedef struct FRAMEBUFFER { u8 reserved; } __attribute__((packed)) FRAMEBUFFER; +typedef struct { + TAG_HEADER header; + u32 mem_lower; + u32 mem_upper; +} __attribute__((packed)) MEM_INFO; + + u32* mb2_find_tag(u32 *mb2_info_addr, char type); char mb2_find_bootloader_name(u32* mb2_info_addr, char *return_name); char mb2_find_new_rsdp(u32* mb2_info_addr, u64 *return_addr, u32 *return_size); char mb2_find_old_rsdp(u32* mb2_info_addr, u64 *return_addr, u32 *return_size); -char mb2_find_framebuffer(u32* mb2_info_addr, FRAMEBUFFER *fb);
\ No newline at end of file +char mb2_find_framebuffer(u32* mb2_info_addr, FRAMEBUFFER *fb); +char mb2_find_mem(u32* mb2_info_addr, MEM_INFO *mem);
\ No newline at end of file |
