L4Re Operating System Framework
Interface and Usage Documentation
Loading...
Searching...
No Matches
mb_info.h File Reference

Multiboot info structure as defined by GRUB. More...

#include <l4/sys/compiler.h>
#include <l4/sys/l4int.h>
+ Include dependency graph for mb_info.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  l4util_mb_mod_t
 The structure type "mod_list" is used by the multiboot_info structure. More...
 
struct  l4util_mb_addr_range_t
 INT-15, AX=E820 style "AddressRangeDescriptor" ...with a "size" parameter on the front which is the structure size - 4, pointing to the next one, up until the full buffer length of the memory map has been reached. More...
 
struct  l4util_mb_drive_t
 Drive Info structure. More...
 
struct  l4util_mb_apm_t
 APM BIOS info. More...
 
struct  l4util_mb_vbe_ctrl_t
 VBE controller information. More...
 
struct  l4util_mb_vbe_mode_t
 VBE mode information. More...
 
struct  l4util_mb_info_t
 MultiBoot Info description. More...
 

Macros

#define MB_ARD_MEMORY   1
 usable memory "Type", all others are reserved.
 
#define MB_ART_MEMORY   1
 Address Range Types (ART) from "Advanced Configuration and Power Interface Specification" Rev3.0a (p.
 
#define MB_ART_RESERVED   2
 in use or reserved by system
 
#define MB_ART_ACPI   3
 ACPI Reclaim Memory (RAM that contains ACPI tables)
 
#define MB_ART_NVS   4
 ACPI NVS Memory (must not be used by the OS.
 
#define MB_ART_UNUSABLE   5
 memory in which errors have been detected
 
#define l4util_mb_for_each_mmap_entry(i, mbi)
 Iterate over a memory map provided in a Multiboot info.
 
#define L4UTIL_MB_MEMORY   0x00000001
 Flags to be set in the 'flags' parameter above.
 
#define L4UTIL_MB_BOOTDEV   0x00000002
 is there a boot device set?
 
#define L4UTIL_MB_CMDLINE   0x00000004
 is the command-line defined?
 
#define L4UTIL_MB_MODS   0x00000008
 are there modules to do something with?
 
#define L4UTIL_MB_AOUT_SYMS   0x00000010
 is there a symbol table loaded?
 
#define L4UTIL_MB_ELF_SHDR   0x00000020
 is there an ELF section header table?
 
#define L4UTIL_MB_MEM_MAP   0x00000040
 is there a full memory map?
 
#define L4UTIL_MB_DRIVE_INFO   0x00000080
 Is there drive info?

 
#define L4UTIL_MB_CONFIG_TABLE   0x00000100
 Is there a config table?

 
#define L4UTIL_MB_BOOT_LOADER_NAME   0x00000200
 Is there a boot loader name?

 
#define L4UTIL_MB_APM_TABLE   0x00000400
 Is there a APM table?

 
#define L4UTIL_MB_VIDEO_INFO   0x00000800
 Is there video information?

 
#define L4UTIL_MB_VALID   0x2BADB002UL
 If we are multiboot-compliant, this value is present in the eax register.
 

Detailed Description

Multiboot info structure as defined by GRUB.

Definition in file mb_info.h.

Macro Definition Documentation

◆ l4util_mb_for_each_mmap_entry

#define l4util_mb_for_each_mmap_entry (   i,
  mbi 
)
Value:
for (i = l4util_mb_first_mmap_entry(mbi); \
(unsigned long)i < (unsigned long)mbi->mmap_addr + mbi->mmap_length; \
i = l4util_mb_next_mmap_entry(i))

Iterate over a memory map provided in a Multiboot info.

Parameters
iName of a variable of type l4util_mb_addr_range_t * that is consecutively assigned pointers to the entries of the memory map.
mbiPointer to the l4util_mb_info_t where the memory map can be found.

Definition at line 334 of file mb_info.h.

◆ L4UTIL_MB_MEMORY

#define L4UTIL_MB_MEMORY   0x00000001

Flags to be set in the 'flags' parameter above.

is there basic lower/upper memory information?

Definition at line 346 of file mb_info.h.

◆ MB_ARD_MEMORY

#define MB_ARD_MEMORY   1

usable memory "Type", all others are reserved.


Definition at line 60 of file mb_info.h.

◆ MB_ART_MEMORY

#define MB_ART_MEMORY   1

Address Range Types (ART) from "Advanced Configuration and Power Interface Specification" Rev3.0a (p.

390). Other values are undefined. available, usable RAM

Definition at line 66 of file mb_info.h.