14 #ifndef L4UTIL_MB_INFO_H 15 #define L4UTIL_MB_INFO_H 23 #include <l4/sys/l4int.h> 47 typedef struct __attribute__((packed))
56 #define l4util_mb_for_each_mmap_entry(i, mbi) \ 57 for (i = (l4util_mb_addr_range_t *)(unsigned long)mbi->mmap_addr; \ 58 (unsigned long)i < (unsigned long)mbi->mmap_addr + mbi->mmap_length; \ 59 i = (l4util_mb_addr_range_t *)((unsigned long)i + mmap->struct_size + sizeof (mmap->struct_size))) 62 #define MB_ARD_MEMORY 1 68 #define MB_ART_MEMORY 1 69 #define MB_ART_RESERVED 2 73 #define MB_ART_UNUSABLE 5 89 #define MB_DI_CHS_MODE 0 90 #define MB_DI_LBA_MODE 1 262 #define L4UTIL_MB_MEMORY 0x00000001 265 #define L4UTIL_MB_BOOTDEV 0x00000002 268 #define L4UTIL_MB_CMDLINE 0x00000004 271 #define L4UTIL_MB_MODS 0x00000008 275 #define L4UTIL_MB_AOUT_SYMS 0x00000010 278 #define L4UTIL_MB_ELF_SHDR 0x00000020 281 #define L4UTIL_MB_MEM_MAP 0x00000040 284 #define L4UTIL_MB_DRIVE_INFO 0x00000080 287 #define L4UTIL_MB_CONFIG_TABLE 0x00000100 290 #define L4UTIL_MB_BOOT_LOADER_NAME 0x00000200 293 #define L4UTIL_MB_APM_TABLE 0x00000400 296 #define L4UTIL_MB_VIDEO_INFO 0x00000800 300 #define L4UTIL_MB_VALID 0x2BADB002UL 301 #define L4UTIL_MB_VALID_ASM 0x2BADB002 314 } __attribute__((packed)) l4util_mb2_info_t;
319 } __attribute__((packed)) l4util_mb2_cmdline_tag_t;
326 } __attribute__((packed)) l4util_mb2_module_tag_t;
334 } __attribute__((packed)) l4util_mb2_memmap_entry_t;
340 l4util_mb2_memmap_entry_t entries[];
341 } __attribute__((packed)) l4util_mb2_memmap_tag_t;
346 } __attribute__((packed)) l4util_mb2_rsdp_tag_t;
355 l4util_mb2_cmdline_tag_t cmdline;
356 l4util_mb2_module_tag_t module;
357 l4util_mb2_memmap_tag_t memmap;
358 l4util_mb2_rsdp_tag_t rsdp;
360 } __attribute__((packed)) l4util_mb2_tag_t;
365 #define L4UTIL_MB2_MAGIC 0xE85250D6 366 #define L4UTIL_MB2_ARCH_I386 0x0 368 #define L4UTIL_MB2_TERMINATOR_HEADER_TAG 0 369 #define L4UTIL_MB2_INFO_REQUEST_HEADER_TAG 1 370 #define L4UTIL_MB2_ENTRY_ADDRESS_HEADER_TAG 3 372 #define L4UTIL_MB2_TAG_FLAG_REQUIRED 0 374 #define L4UTIL_MB2_TAG_ALIGN_SHIFT 3 375 #define L4UTIL_MB2_TAG_ALIGN 8 377 #define L4UTIL_MB2_TERMINATOR_INFO_TAG 0 378 #define L4UTIL_MB2_BOOT_CMDLINE_INFO_TAG 1 379 #define L4UTIL_MB2_MODULE_INFO_TAG 3 380 #define L4UTIL_MB2_MEMORY_MAP_INFO_TAG 6 381 #define L4UTIL_MB2_RSDP_OLD_INFO_TAG 14 382 #define L4UTIL_MB2_RSDP_NEW_INFO_TAG 15
l4_uint32_t pad
padding to take it to 16 bytes
unsigned short int l4_uint16_t
Unsigned 16bit value.
l4_uint32_t type
type of memory range
l4_uint32_t cmdline
Module command line.
l4_uint64_t addr
Start address.
l4_uint32_t mod_end
End address of module in memory.
l4_uint32_t struct_size
Size of structure.
VBE controller information.
unsigned char l4_uint8_t
Unsigned 8bit value.
INT-15, AX=E820 style "AddressRangeDescriptor" ...with a "size" parameter on the front which is the s...
unsigned long long l4_uint64_t
Unsigned 64bit value.
l4_uint32_t mod_start
Starting address of module in memory.
l4_uint64_t size
Size of memory range.
unsigned int l4_uint32_t
Unsigned 32bit value.