StuBS
multiboot_info Struct Reference

Multiboot Information Structure according to Specification. More...

Collaboration diagram for multiboot_info:
[legend]

Classes

struct  Array
 Helper Structure. More...
 

Public Types

enum  Flag : uint32_t {
  Memory = 1U << 0 ,
  BootDev = 1U << 1 ,
  CmdLine = 1U << 2 ,
  Modules = 1U << 3 ,
  SymbolTable = 1U << 4 ,
  SectionHeader = 1U << 5 ,
  MemoryMap = 1U << 6 ,
  DriveInfo = 1U << 7 ,
  ConfigTable = 1U << 8 ,
  BootLoaderName = 1U << 9 ,
  ApmTable = 1U << 10 ,
  VbeInfo = 1U << 11 ,
  FramebufferInfo = 1U << 12
}
 

Public Member Functions

bool has (enum Flag flag) const
 Check if setting is available.
 

Public Attributes

enum multiboot_info::Flag flags
 
struct { 
 
uint32_t lower
 Amount of memory below 1 MiB in kilobytes.
 
uint32_t upper
 Amount of memory above 1 MiB in kilobytes.
 
mem 
 Available memory retrieved from BIOS.
 
uint32_t boot_device
 "root" partition
 
uint32_t cmdline
 Kernel command line.
 
Array mods
 List of boot modules.
 
union { 
 
   struct { 
 
uint32_t tabsize
 
uint32_t strsize
 
uint32_t addr
 
uint32_t reserved
 
   } aout_symbol_table 
 Symbol table for kernel in a.out format.
 
   struct { 
 
uint32_t num
 Number of entries.
 
uint32_t size
 Size per entry.
 
uint32_t addr
 Start of the header table.
 
uint32_t shndx
 String table index.
 
   } elf_section_header_table 
 Section header table for kernel in ELF.
 
};  
 
struct Array mmap
 Memory Map.
 
struct Array drives
 Drive Information.
 
uint32_t config_table
 ROM configuration table.
 
uint32_t boot_loader_name
 Boot Loader Name.
 
uint32_t apm_table
 APM table.
 
struct Multiboot::VBE vbe
 VBE Information.
 
struct Multiboot::Framebuffer framebuffer
 Framebuffer information.
 

Detailed Description

Multiboot Information Structure according to Specification.

See also
[Multiboot Specification]{multiboot}

Class Documentation

◆ multiboot_info::Array

struct multiboot_info::Array

Helper Structure.

Class Members
uint32_t size Length.
uint32_t addr Begin (physical address)

Member Enumeration Documentation

◆ Flag

Enumerator
Memory 

is there basic lower/upper memory information?

BootDev 

is there a boot device set?

CmdLine 

is the command-line defined?

Modules 

are there modules to do something with?

SymbolTable 

is there an a.out symbol table loaded?

SectionHeader 

is there an ELF section header table?

MemoryMap 

is there a full memory map?

DriveInfo 

Is there drive info?

ConfigTable 

Is there a config table?

BootLoaderName 

Is there a boot loader name?

ApmTable 

Is there a APM table?

VbeInfo 

Vesa bios extension.

FramebufferInfo 

Framebuffer.

Member Function Documentation

◆ has()

bool multiboot_info::has ( enum Flag  flag) const
inline

Check if setting is available.

Parameters
flagFlag to check
Returns
true if available

Member Data Documentation

◆ flags

enum multiboot_info::Flag multiboot_info::flags

◆ [struct]

struct { ... } multiboot_info::mem

Available memory retrieved from BIOS.

◆ boot_device

uint32_t multiboot_info::boot_device

"root" partition

◆ cmdline

uint32_t multiboot_info::cmdline

Kernel command line.

◆ mods

Array multiboot_info::mods

List of boot modules.

◆ [union]

union { ... } multiboot_info

◆ mmap

struct Array multiboot_info::mmap

Memory Map.

◆ drives

struct Array multiboot_info::drives

Drive Information.

◆ config_table

uint32_t multiboot_info::config_table

ROM configuration table.

◆ boot_loader_name

uint32_t multiboot_info::boot_loader_name

Boot Loader Name.

◆ apm_table

uint32_t multiboot_info::apm_table

APM table.

◆ vbe

struct Multiboot::VBE multiboot_info::vbe

VBE Information.

◆ framebuffer

struct Multiboot::Framebuffer multiboot_info::framebuffer

Framebuffer information.


The documentation for this struct was generated from the following file: