aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorTianhao Wang <shrik3@mailbox.org>2024-05-29 01:18:02 +0200
committerTianhao Wang <shrik3@mailbox.org>2024-06-11 15:17:10 +0200
commit959a93e653684b1ed8db4bd21eaca9831e372fb0 (patch)
tree152426d2f9eb39ff26941204aaa149840e59578a /docs
parent590d29c3e44fc06bc79c2624fc94273434505b9d (diff)
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 <shrik3@mailbox.org>
Diffstat (limited to 'docs')
-rw-r--r--docs/multiboot.txt45
1 files changed, 45 insertions, 0 deletions
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 |
+ +-------------------+