Pip
Architecture-dependent parts of Pip: MAL, IAL and boot
Data Structures | Macros | Typedefs | Functions | Variables
multiboot.h File Reference

Multiboot header file. More...

#include <stdint.h>

Go to the source code of this file.

Data Structures

struct  multiboot
 Multiboot header info. More...
 
struct  multiboot_memory_map
 Memory map structure. More...
 

Macros

#define MULTIBOOT_FLAG_MEM   0x001
 Is there basic upper/lower memory information ? More...
 
#define MULTIBOOT_FLAG_DEVICE   0x002
 Is there a boot device set ? More...
 
#define MULTIBOOT_FLAG_CMDLINE   0x004
 Is the command-line defined ? More...
 
#define MULTIBOOT_FLAG_MODS   0x008
 Are there modules to deal with ? More...
 
#define MULTIBOOT_FLAG_AOUT   0x010
 Is there a symbol table loaded ? More...
 
#define MULTIBOOT_FLAG_ELF   0x020
 Is there an ELF section header table ? More...
 
#define MULTIBOOT_FLAG_MMAP   0x040
 Is there a full memory map ? More...
 
#define MULTIBOOT_FLAG_CONFIG   0x080
 Is there a config table ? More...
 
#define MULTIBOOT_FLAG_LOADER   0x100
 Is there a boot loader name ? More...
 
#define MULTIBOOT_FLAG_APM   0x200
 Is there a APM table ? More...
 
#define MULTIBOOT_FLAG_VBE   0x400
 Is there video information ? More...
 
#define MULTIBOOT_MEMORY_AVAILABLE   1
 Memory is available. More...
 
#define MULTIBOOT_MEMORY_RESERVED   2
 Memory is system-reserved. More...
 
#define MULTIBOOT_MEMORY_ACPI_RECLAIMABLE   3
 Memory is reclaimable by the ACPI. More...
 
#define MULTIBOOT_MEMORY_NVS   4
 Memory is something (?) More...
 
#define MULTIBOOT_MEMORY_BADRAM   5
 No such memory here. More...
 

Typedefs

typedef struct multiboot_header multiboot_header_t
 Multiboot header structure define. More...
 
typedef struct multiboot_memory_map multiboot_memory_map_t
 

Functions

struct multiboot __attribute__ ((packed))
 

Variables

uint32_t flags
 Header flags. More...
 
uint32_t mem_lower
 Lower memory available. More...
 
uint32_t mem_upper
 Upper memory available. More...
 
uint32_t boot_device
 Boot device ID. More...
 
uint32_t cmdline
 Pointer to the boot command line. More...
 
uint32_t mods_count
 Amount of modules loaded. More...
 
uint32_t mods_addr
 Address to the first module structure. More...
 
uint32_t num
 This is reserved by symbol table & ELF headers. More...
 
uint32_t size
 This is reserved by symbol table & ELF headers. More...
 
uint32_t addr
 This is reserved by symbol table & ELF headers. More...
 
uint32_t shndx
 This is reserved by symbol table & ELF headers. More...
 
uint32_t mmap_length
 Memory map length. More...
 
uint32_t mmap_addr
 Memory map address. More...
 
uint32_t drives_length
 Drive map length. More...
 
uint32_t drives_addr
 Drive map address. More...
 
uint32_t config_table
 Configuration table address. More...
 
uint32_t boot_loader_name
 Pointer to the bootloader's name. More...
 
uint32_t apm_table
 Pointer to the APM table. More...
 
uint32_t vbe_control_info
 Pointer to the VBE control info structure. More...
 
uint32_t vbe_mode_info
 Pointer to the VBE mode info structure. More...
 
uint32_t vbe_mode
 Current VBE mode. More...
 
uint32_t vbe_interface_seg
 VBE3.0 interface segment. More...
 
uint32_t vbe_interface_off
 VBE3.0 interface segment offset. More...
 
uint32_t vbe_interface_len
 VBE3.0 interface segment length. More...
 

Detailed Description

Multiboot header file.

Macro Definition Documentation

◆ MULTIBOOT_FLAG_AOUT

#define MULTIBOOT_FLAG_AOUT   0x010

Is there a symbol table loaded ?

◆ MULTIBOOT_FLAG_APM

#define MULTIBOOT_FLAG_APM   0x200

Is there a APM table ?

◆ MULTIBOOT_FLAG_CMDLINE

#define MULTIBOOT_FLAG_CMDLINE   0x004

Is the command-line defined ?

◆ MULTIBOOT_FLAG_CONFIG

#define MULTIBOOT_FLAG_CONFIG   0x080

Is there a config table ?

◆ MULTIBOOT_FLAG_DEVICE

#define MULTIBOOT_FLAG_DEVICE   0x002

Is there a boot device set ?

◆ MULTIBOOT_FLAG_ELF

#define MULTIBOOT_FLAG_ELF   0x020

Is there an ELF section header table ?

◆ MULTIBOOT_FLAG_LOADER

#define MULTIBOOT_FLAG_LOADER   0x100

Is there a boot loader name ?

◆ MULTIBOOT_FLAG_MEM

#define MULTIBOOT_FLAG_MEM   0x001

Is there basic upper/lower memory information ?

◆ MULTIBOOT_FLAG_MMAP

#define MULTIBOOT_FLAG_MMAP   0x040

Is there a full memory map ?

◆ MULTIBOOT_FLAG_MODS

#define MULTIBOOT_FLAG_MODS   0x008

Are there modules to deal with ?

◆ MULTIBOOT_FLAG_VBE

#define MULTIBOOT_FLAG_VBE   0x400

Is there video information ?

◆ MULTIBOOT_MEMORY_ACPI_RECLAIMABLE

#define MULTIBOOT_MEMORY_ACPI_RECLAIMABLE   3

Memory is reclaimable by the ACPI.

◆ MULTIBOOT_MEMORY_AVAILABLE

#define MULTIBOOT_MEMORY_AVAILABLE   1

Memory is available.

◆ MULTIBOOT_MEMORY_BADRAM

#define MULTIBOOT_MEMORY_BADRAM   5

No such memory here.

◆ MULTIBOOT_MEMORY_NVS

#define MULTIBOOT_MEMORY_NVS   4

Memory is something (?)

◆ MULTIBOOT_MEMORY_RESERVED

#define MULTIBOOT_MEMORY_RESERVED   2

Memory is system-reserved.

Typedef Documentation

◆ multiboot_header_t

typedef struct multiboot_header multiboot_header_t

Multiboot header structure define.

◆ multiboot_memory_map_t

Function Documentation

◆ __attribute__()

struct multiboot __attribute__ ( (packed)  )

Variable Documentation

◆ addr

uint32_t addr

This is reserved by symbol table & ELF headers.

◆ apm_table

uint32_t apm_table

Pointer to the APM table.

◆ boot_device

uint32_t boot_device

Boot device ID.

◆ boot_loader_name

uint32_t boot_loader_name

Pointer to the bootloader's name.

◆ cmdline

uint32_t cmdline

Pointer to the boot command line.

◆ config_table

uint32_t config_table

Configuration table address.

◆ drives_addr

uint32_t drives_addr

Drive map address.

◆ drives_length

uint32_t drives_length

Drive map length.

◆ flags

uint32_t flags

Header flags.

◆ mem_lower

uint32_t mem_lower

Lower memory available.

◆ mem_upper

uint32_t mem_upper

Upper memory available.

◆ mmap_addr

uint32_t mmap_addr

Memory map address.

◆ mmap_length

uint32_t mmap_length

Memory map length.

◆ mods_addr

uint32_t mods_addr

Address to the first module structure.

◆ mods_count

uint32_t mods_count

Amount of modules loaded.

◆ num

uint32_t num

This is reserved by symbol table & ELF headers.

◆ shndx

uint32_t shndx

This is reserved by symbol table & ELF headers.

◆ size

uint32_t size

This is reserved by symbol table & ELF headers.

◆ vbe_control_info

uint32_t vbe_control_info

Pointer to the VBE control info structure.

◆ vbe_interface_len

uint32_t vbe_interface_len

VBE3.0 interface segment length.

◆ vbe_interface_off

uint32_t vbe_interface_off

VBE3.0 interface segment offset.

◆ vbe_interface_seg

uint32_t vbe_interface_seg

VBE3.0 interface segment.

◆ vbe_mode

uint32_t vbe_mode

Current VBE mode.

◆ vbe_mode_info

uint32_t vbe_mode_info

Pointer to the VBE mode info structure.