couple of bits on the x86_64 boot code
[newos.git] / boot / pc / x86_64 / multiboot.h
blobbfe8f8b3848a8406ad65c5de4c87db6e69141e27
1 #ifndef __MULTIBOOT_H
2 #define __MULTIBOOT_H
4 struct multiboot_info {
5 uint32 flags;
7 uint32 mem_lower;
8 uint32 mem_upper;
10 uint32 boot_device;
12 uint32 cmdline;
14 uint32 mods_count;
15 uint32 mods_addr;
17 uint32 syms[4];
19 uint32 mmap_length;
20 uint32 mmap_addr;
22 uint32 drives_length;
23 uint32 drives_addr;
25 uint32 config_table;
27 uint32 boot_loader_name;
29 uint32 apm_table;
31 uint32 vbe_control_info;
32 uint32 vbe_mode_info;
33 uint32 vbe_mode;
34 uint32 vbe_interface_seg;
35 uint32 vbe_interface_off;
36 uint32 vbe_interface_len;
39 struct multiboot_mmap {
40 uint32 size;
41 uint32 base_addr_low;
42 uint32 base_addr_high;
43 uint32 len_low;
44 uint32 len_high;
45 uint32 type;
48 void dump_multiboot(const void *multiboot);
50 // boot time kernel args copying from the multiboot struct
51 void fill_ka_memranges(const void *multiboot);
53 #endif