From 87503099d88ef592f331ea020cf5d5869b1cc6bd Mon Sep 17 00:00:00 2001 From: Alex Kotov Date: Sun, 29 Nov 2020 02:45:12 +0500 Subject: [PATCH] Print Multiboot 2 VBE info & framebuffer tag --- src/multiboot2/print.c | 16 ++++++++++++++++ tests/test_multiboot2_print.c | 6 ++++++ 2 files changed, 22 insertions(+) diff --git a/src/multiboot2/print.c b/src/multiboot2/print.c index f5cfe04..d3cf307 100644 --- a/src/multiboot2/print.c +++ b/src/multiboot2/print.c @@ -153,10 +153,26 @@ void KernAux_Multiboot2_TagBase_print( break; case KERNAUX_MULTIBOOT2_TAGTYPE_VBE_INFO: { + const struct KernAux_Multiboot2_Tag_VBEInfo *const tag_vbe = + (struct KernAux_Multiboot2_Tag_VBEInfo*)tag_base; + + print(" VBE mode: %hu\n", tag_vbe->vbe_mode); + print(" VBE interface seg: %hu\n", tag_vbe->vbe_interface_seg); + print(" VBE interface off: %hu\n", tag_vbe->vbe_interface_off); + print(" VBE interface len: %hu\n", tag_vbe->vbe_interface_len); } break; case KERNAUX_MULTIBOOT2_TAGTYPE_FRAMEBUFFER_INFO: { + const struct KernAux_Multiboot2_Tag_FramebufferInfo *const tag_fb = + (struct KernAux_Multiboot2_Tag_FramebufferInfo*)tag_base; + + print(" framebuffer addr: %llu\n", tag_fb->framebuffer_addr); + print(" framebuffer pitch: %u\n", tag_fb->framebuffer_pitch); + print(" framebuffer width: %u\n", tag_fb->framebuffer_width); + print(" framebuffer height: %u\n", tag_fb->framebuffer_height); + print(" framebuffer bpp: %u\n", tag_fb->framebuffer_bpp); + print(" framebuffer type: %u\n", tag_fb->framebuffer_type); } break; case KERNAUX_MULTIBOOT2_TAGTYPE_ELF_SYMBOLS: diff --git a/tests/test_multiboot2_print.c b/tests/test_multiboot2_print.c index 91a00c7..591baa2 100644 --- a/tests/test_multiboot2_print.c +++ b/tests/test_multiboot2_print.c @@ -54,6 +54,12 @@ static const char output[] = "Multiboot 2 tag\n" " type: 8 (framebuffer info)\n" " size: 32\n" + " framebuffer addr: 753664\n" + " framebuffer pitch: 160\n" + " framebuffer width: 80\n" + " framebuffer height: 25\n" + " framebuffer bpp: 16\n" + " framebuffer type: 2\n" "Multiboot 2 tag\n" " type: 14 (ACPI old RSDP)\n" " size: 28\n"