Files
RockOS/kernel/multiboot.h

38 lines
915 B
C

#ifndef KMULTIBOOT_H
#define KMULTIBOOT_H
#include <stdint.h>
typedef struct {
uint32_t flags;
uint32_t mem_lower;
uint32_t mem_upper;
uint32_t boot_device;
uint32_t cmdline;
uint32_t mods_count;
uint32_t mods_addr;
uint32_t num;
uint32_t size;
uint32_t addr;
uint32_t shndx;
uint32_t mmap_length;
uint32_t mmap_addr;
} __attribute__((packed)) multiboot_info;
typedef struct {
uint32_t size;
uint64_t addr;
uint64_t len;
uint32_t type;
} __attribute__((packed)) multiboot_mmap_entry;
typedef struct {
uint32_t mod_start; // Physical start address of user.elf in memory
uint32_t mod_end; // Physical end address of user.elf
uint32_t cmdline; // Pointer to a string (e.g., "/boot/user.elf")
uint32_t pad;
} __attribute__((packed)) multiboot_module_t;
extern multiboot_module_t multiboot_module_info_table[32];
#endif