add a few multiboot2 info structures

This commit is contained in:
Josh Holtrop 2020-10-20 17:34:08 -04:00
parent a474368435
commit 1f22d0c900

View File

@ -68,6 +68,39 @@ typedef struct {
#define multiboot2_info_next_tag(current_tag) \ #define multiboot2_info_next_tag(current_tag) \
(multiboot2_info_tag_t *)(((uintptr_t)current_tag + current_tag->size + MULTIBOOT2_INFO_TAG_ALIGNMENT - 1u) & ~(MULTIBOOT2_INFO_TAG_ALIGNMENT - 1u)) (multiboot2_info_tag_t *)(((uintptr_t)current_tag + current_tag->size + MULTIBOOT2_INFO_TAG_ALIGNMENT - 1u) & ~(MULTIBOOT2_INFO_TAG_ALIGNMENT - 1u))
typedef struct {
multiboot2_info_tag_t header;
uint8_t string[];
} multiboot2_info_boot_loader_name_t;
typedef struct {
multiboot2_info_tag_t header;
uint32_t mem_lower;
uint32_t mem_upper;
} multiboot2_info_basic_memory_info_t;
typedef struct {
multiboot2_info_tag_t header;
uint32_t entry_size;
uint32_t entry_version;
struct {
uint64_t base_addr;
uint64_t length;
uint32_t type;
uint32_t _reserved;
} entries[];
} multiboot2_info_memory_map_t;
typedef struct {
multiboot2_info_tag_t header;
uint16_t vbe_mode;
uint16_t vbe_interface_set;
uint16_t vbe_interface_off;
uint16_t vbe_interface_len;
uint8_t vbe_control_info[512];
uint8_t vbe_mode_info[256];
} multiboot2_info_vbe_info_t;
typedef struct { typedef struct {
multiboot2_info_tag_t header; multiboot2_info_tag_t header;
uint64_t framebuffer_addr; uint64_t framebuffer_addr;