blu_os
Loading...
Searching...
No Matches
multiboot.h
1// Created by Avis on 24/08/2026
2
3#ifndef BLU_OS_MULTIBOOT_H
4#define BLU_OS_MULTIBOOT_H
5
6#include <stdint.h>
7
8typedef struct {
9 uint32_t size;
10 uint64_t addr;
11 uint64_t len;
12 uint32_t type;
13} __attribute__((packed)) MultibootMemoryMapEntry;
14
15#define MULTIBOOT_INFO_MEM_MAP (1 << 6)
16#define MULTIBOOT_MEMORY_AVAILABLE 1
17#define MULTI_BOOT_MAGIC 0x2BADB002
18#define MULTIBOOT_INFO_VBE 0x00000800
19#define MULTIBOOT_INFO_FRAMEBUFFER 0x00001000
20
21typedef struct {
22 uint32_t flags;
23 uint32_t memLower;
24 uint32_t memUpper;
25 uint32_t bootDevice;
26 uint32_t cmdline;
27 uint32_t modsCount;
28 uint32_t modsAddr;
29 uint32_t syms[4];
30 uint32_t mmapLength;
31 uint32_t mmapAddr;
32 uint32_t drivesLength;
33 uint32_t drivesAddr;
34 uint32_t configTable;
35 uint32_t bootLoaderName;
36 uint32_t apmTable;
37 uint32_t vbeControlInfo;
38 uint32_t vbeModeInfo;
39 uint16_t vbeMode;
40 uint16_t vbeInterfaceSeg;
41 uint16_t vbeInterfaceOff;
42 uint16_t vbeInterfaceLen;
43 uint64_t framebufferAddr;
44 uint32_t framebufferPitch;
45 uint32_t framebufferWidth;
46 uint32_t framebufferHeight;
47 uint8_t framebufferBpp;
48 uint8_t framebufferType;
49} __attribute__((packed)) MultibootInfo;
50
51#endif // BLU_OS_MULTIBOOT_H
Fixed-width integer types.
Definition idt.h:11