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

  i | Name of a variable of type l4util_mb_addr_range_t * that is consecutively assigned pointers to the entries of the memory map.
  mbi | Pointer to the l4util_mb_info_t where the memory map can be found.

Definition at line 332 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 344 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 64 of file mb_info.h.