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. More...
 

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

enum multiboot_info::Flag : uint32_t
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

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