From 959a93e653684b1ed8db4bd21eaca9831e372fb0 Mon Sep 17 00:00:00 2001 From: Tianhao Wang Date: Wed, 29 May 2024 01:18:02 +0200 Subject: multiboot: basic support for multiboot info well, it's not trivial to use bios function because thanks to grub + multiboot, we are already in protected mode when the startup code takes control. Also the MB info is easier to play with than BIOS (or ACPI) Signed-off-by: Tianhao Wang --- docs/multiboot.txt | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 docs/multiboot.txt (limited to 'docs') diff --git a/docs/multiboot.txt b/docs/multiboot.txt new file mode 100644 index 0000000..4762e45 --- /dev/null +++ b/docs/multiboot.txt @@ -0,0 +1,45 @@ +https://www.gnu.org/software/grub/manual/multiboot/multiboot.txt + + +-------------------+ +0 | flags | (required) + +-------------------+ +4 | mem_lower | (present if flags[0] is set) +8 | mem_upper | (present if flags[0] is set) + +-------------------+ +12 | boot_device | (present if flags[1] is set) + +-------------------+ +16 | cmdline | (present if flags[2] is set) + +-------------------+ +20 | mods_count | (present if flags[3] is set) +24 | mods_addr | (present if flags[3] is set) + +-------------------+ +28 - 40 | syms | (present if flags[4] or + | | flags[5] is set) + +-------------------+ +44 | mmap_length | (present if flags[6] is set) +48 | mmap_addr | (present if flags[6] is set) + +-------------------+ +52 | drives_length | (present if flags[7] is set) +56 | drives_addr | (present if flags[7] is set) + +-------------------+ +60 | config_table | (present if flags[8] is set) + +-------------------+ +64 | boot_loader_name | (present if flags[9] is set) + +-------------------+ +68 | apm_table | (present if flags[10] is set) + +-------------------+ +72 | vbe_control_info | (present if flags[11] is set) +76 | vbe_mode_info | +80 | vbe_mode | +82 | vbe_interface_seg | +84 | vbe_interface_off | +86 | vbe_interface_len | + +-------------------+ +88 | framebuffer_addr | (present if flags[12] is set) +96 | framebuffer_pitch | +100 | framebuffer_width | +104 | framebuffer_height| +108 | framebuffer_bpp | +109 | framebuffer_type | +110-115 | color_info | + +-------------------+ -- cgit v1.2.3-70-g09d2