iPXE
Data Structures | Defines | Functions | Variables
multiboot.h File Reference

Multiboot operating systems. More...

#include <stdint.h>

Go to the source code of this file.

Data Structures

struct  multiboot_header
 A multiboot header. More...
struct  multiboot_aout_symbol_table
 A multiboot a.out symbol table. More...
struct  multiboot_elf_section_header_table
 A multiboot ELF section header table. More...
struct  multiboot_info
 A multiboot information structure. More...
struct  multiboot_module
 A multiboot module structure. More...
struct  multiboot_memory_map
 A multiboot memory map entry. More...

Defines

#define MULTIBOOT_HEADER_MAGIC   0x1BADB002
 The magic number for the Multiboot header.
#define MB_FLAG_PGALIGN   0x00000001
 Boot modules must be page aligned.
#define MB_FLAG_MEMMAP   0x00000002
 Memory map must be provided.
#define MB_FLAG_VIDMODE   0x00000004
 Video mode information must be provided.
#define MB_FLAG_RAW   0x00010000
 Image is a raw multiboot image (not ELF)
#define MULTIBOOT_BOOTLOADER_MAGIC   0x2BADB002
 The magic number passed by a Multiboot-compliant boot loader.
#define MBI_FLAG_MEM   0x00000001
 Multiboot information structure mem_* fields are valid.
#define MBI_FLAG_BOOTDEV   0x00000002
 Multiboot information structure boot_device field is valid.
#define MBI_FLAG_CMDLINE   0x00000004
 Multiboot information structure cmdline field is valid.
#define MBI_FLAG_MODS   0x00000008
 Multiboot information structure module fields are valid.
#define MBI_FLAG_AOUT   0x00000010
 Multiboot information structure a.out symbol table is valid.
#define MBI_FLAG_ELF   0x00000020
 Multiboot information struture ELF section header table is valid.
#define MBI_FLAG_MMAP   0x00000040
 Multiboot information structure memory map is valid.
#define MBI_FLAG_DRIVES   0x00000080
 Multiboot information structure drive list is valid.
#define MBI_FLAG_CFGTBL   0x00000100
 Multiboot information structure ROM configuration field is valid.
#define MBI_FLAG_LOADER   0x00000200
 Multiboot information structure boot loader name field is valid.
#define MBI_FLAG_APM   0x00000400
 Multiboot information structure APM table is valid.
#define MBI_FLAG_VBE   0x00000800
 Multiboot information structure video information is valid.
#define MBMEM_RAM   1
 Usable RAM.

Functions

 FILE_LICENCE (GPL2_OR_LATER_OR_UBDL)
struct multiboot_header __attribute__ ((packed, may_alias))

Variables

uint32_t magic
uint32_t flags
uint32_t checksum
uint32_t header_addr
uint32_t load_addr
uint32_t load_end_addr
uint32_t bss_end_addr
uint32_t entry_addr
uint32_t tabsize
uint32_t strsize
uint32_t addr
uint32_t reserved
uint32_t num
uint32_t size
uint32_t shndx
uint32_t mem_lower
uint32_t mem_upper
uint32_t boot_device
uint32_t cmdline
uint32_t mods_count
uint32_t mods_addr
union {
   struct multiboot_aout_symbol_table   aout_syms
   struct
multiboot_elf_section_header_table   elf_sections
syms
uint32_t mmap_length
uint32_t mmap_addr
uint32_t drives_length
uint32_t drives_addr
uint32_t config_table
uint32_t boot_loader_name
uint32_t apm_table
uint32_t vbe_control_info
uint32_t vbe_mode_info
uint16_t vbe_mode
uint16_t vbe_interface_seg
uint16_t vbe_interface_off
uint16_t vbe_interface_len
uint32_t mod_start
uint32_t mod_end
uint32_t string
uint64_t base_addr
uint64_t length
uint32_t type

Detailed Description

Multiboot operating systems.

Definition in file multiboot.h.


Define Documentation

#define MULTIBOOT_HEADER_MAGIC   0x1BADB002

The magic number for the Multiboot header.

Definition at line 16 of file multiboot.h.

Referenced by multiboot_find_header().

#define MB_FLAG_PGALIGN   0x00000001

Boot modules must be page aligned.

Definition at line 19 of file multiboot.h.

#define MB_FLAG_MEMMAP   0x00000002

Memory map must be provided.

Definition at line 22 of file multiboot.h.

#define MB_FLAG_VIDMODE   0x00000004

Video mode information must be provided.

Definition at line 25 of file multiboot.h.

#define MB_FLAG_RAW   0x00010000

Image is a raw multiboot image (not ELF)

Definition at line 28 of file multiboot.h.

Referenced by multiboot_load_raw().

#define MULTIBOOT_BOOTLOADER_MAGIC   0x2BADB002

The magic number passed by a Multiboot-compliant boot loader.

Must be passed in register eax when jumping to the Multiboot OS image.

Definition at line 36 of file multiboot.h.

Referenced by multiboot_exec().

#define MBI_FLAG_MEM   0x00000001

Multiboot information structure mem_* fields are valid.

Definition at line 39 of file multiboot.h.

Referenced by multiboot_exec().

#define MBI_FLAG_BOOTDEV   0x00000002

Multiboot information structure boot_device field is valid.

Definition at line 42 of file multiboot.h.

#define MBI_FLAG_CMDLINE   0x00000004

Multiboot information structure cmdline field is valid.

Definition at line 45 of file multiboot.h.

Referenced by multiboot_exec().

#define MBI_FLAG_MODS   0x00000008

Multiboot information structure module fields are valid.

Definition at line 48 of file multiboot.h.

Referenced by multiboot_exec().

#define MBI_FLAG_AOUT   0x00000010

Multiboot information structure a.out symbol table is valid.

Definition at line 51 of file multiboot.h.

#define MBI_FLAG_ELF   0x00000020

Multiboot information struture ELF section header table is valid.

Definition at line 54 of file multiboot.h.

#define MBI_FLAG_MMAP   0x00000040

Multiboot information structure memory map is valid.

Definition at line 57 of file multiboot.h.

Referenced by multiboot_exec().

#define MBI_FLAG_DRIVES   0x00000080

Multiboot information structure drive list is valid.

Definition at line 60 of file multiboot.h.

#define MBI_FLAG_CFGTBL   0x00000100

Multiboot information structure ROM configuration field is valid.

Definition at line 63 of file multiboot.h.

#define MBI_FLAG_LOADER   0x00000200

Multiboot information structure boot loader name field is valid.

Definition at line 66 of file multiboot.h.

Referenced by multiboot_exec().

#define MBI_FLAG_APM   0x00000400

Multiboot information structure APM table is valid.

Definition at line 69 of file multiboot.h.

#define MBI_FLAG_VBE   0x00000800

Multiboot information structure video information is valid.

Definition at line 72 of file multiboot.h.

#define MBMEM_RAM   1

Usable RAM.

Definition at line 147 of file multiboot.h.

Referenced by multiboot_build_memmap().


Function Documentation

FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL  )
struct multiboot_header __attribute__ ( (packed, may_alias)  )

Variable Documentation

Definition at line 85 of file multiboot.h.

Definition at line 86 of file multiboot.h.

Definition at line 87 of file multiboot.h.

Definition at line 88 of file multiboot.h.

Definition at line 89 of file multiboot.h.

Definition at line 90 of file multiboot.h.

Definition at line 91 of file multiboot.h.

Definition at line 92 of file multiboot.h.

Definition at line 93 of file multiboot.h.

Definition at line 94 of file multiboot.h.

Definition at line 95 of file multiboot.h.

Definition at line 96 of file multiboot.h.

Definition at line 101 of file multiboot.h.

Definition at line 102 of file multiboot.h.

Definition at line 104 of file multiboot.h.

Definition at line 130 of file multiboot.h.

Definition at line 131 of file multiboot.h.

Definition at line 132 of file multiboot.h.

Definition at line 134 of file multiboot.h.

Definition at line 135 of file multiboot.h.

Definition at line 137 of file multiboot.h.

Definition at line 138 of file multiboot.h.

union { ... } syms

Definition at line 140 of file multiboot.h.

Definition at line 141 of file multiboot.h.

Definition at line 142 of file multiboot.h.

Definition at line 143 of file multiboot.h.

Definition at line 144 of file multiboot.h.

Definition at line 145 of file multiboot.h.

Definition at line 146 of file multiboot.h.

Definition at line 147 of file multiboot.h.

Definition at line 148 of file multiboot.h.

Definition at line 149 of file multiboot.h.

Definition at line 150 of file multiboot.h.

Definition at line 151 of file multiboot.h.

Definition at line 152 of file multiboot.h.

Definition at line 137 of file multiboot.h.

Referenced by sync_console().

Definition at line 138 of file multiboot.h.

Referenced by sync_console().

Definition at line 146 of file multiboot.h.

Definition at line 147 of file multiboot.h.

Definition at line 148 of file multiboot.h.