![]() |
Max OS 0.3
|
Parses and provides access to Multiboot 2 information. More...
#include <multiboot.h>
Public Member Functions | |
| Multiboot (unsigned long address, unsigned long magic) | |
| Constructor for the Multiboot class. Parses the multiboot info struct and loads the tags. | |
| multiboot_tag_framebuffer * | framebuffer () |
| Get the framebuffer tag. | |
| multiboot_tag_basic_meminfo * | basic_meminfo () |
| Get the basic memory info tag. | |
| multiboot_tag_string * | bootloader_name () |
| Get the bootloader name tag. | |
| multiboot_tag_mmap * | mmap () |
| Get the module tag. | |
| multiboot_tag_old_acpi * | old_acpi () |
| Get the old ACPI tag. | |
| multiboot_tag_new_acpi * | new_acpi () |
| Get the new ACPI tag. | |
| multiboot_tag * | start_tag () const |
| bool | is_reserved (multiboot_uint64_t address) const |
| Check if an address is reserved by a multiboot module. | |
Public Attributes | |
| unsigned long | start_address |
| The start address of the multiboot info struct. | |
| unsigned long | end_address |
| The end address of the multiboot info struct. | |
Parses and provides access to Multiboot 2 information.
Definition at line 518 of file multiboot.h.
Constructor for the Multiboot class. Parses the multiboot info struct and loads the tags.
| address | The address of the multiboot info struct |
| magic | The magic number to confirm the bootloader |
Definition at line 24 of file multiboot.cpp.
References ASSERT, MaxOS::Logger::DEBUG(), end_address, start_tag(), multiboot_tag_string::string, and MaxOS::memory::PhysicalMemoryManager::to_lower_region().
| multiboot_tag_basic_meminfo * Multiboot::basic_meminfo | ( | ) |
Get the basic memory info tag.
Definition at line 108 of file multiboot.cpp.
| multiboot_tag_string * Multiboot::bootloader_name | ( | ) |
Get the bootloader name tag.
Definition at line 117 of file multiboot.cpp.
| multiboot_tag_framebuffer * Multiboot::framebuffer | ( | ) |
Get the framebuffer tag.
Definition at line 99 of file multiboot.cpp.
| bool Multiboot::is_reserved | ( | multiboot_uint64_t | address | ) | const |
Check if an address is reserved by a multiboot module.
| address | The address to check |
Definition at line 154 of file multiboot.cpp.
References start_tag().
| multiboot_tag_mmap * Multiboot::mmap | ( | ) |
Get the module tag.
Definition at line 126 of file multiboot.cpp.
Referenced by MaxOS::memory::PhysicalMemoryManager::PhysicalMemoryManager().
| multiboot_tag_new_acpi * Multiboot::new_acpi | ( | ) |
Get the new ACPI tag.
Definition at line 144 of file multiboot.cpp.
| multiboot_tag_old_acpi * Multiboot::old_acpi | ( | ) |
Get the old ACPI tag.
Definition at line 135 of file multiboot.cpp.
| multiboot_tag * Multiboot::start_tag | ( | ) | const |
Get the start tag of the multiboot information (useful for iterating through the tags)
Definition at line 182 of file multiboot.cpp.
References MaxOS::memory::HIGHER_HALF_KERNEL_OFFSET, and start_address.
Referenced by is_reserved(), MaxOS::processes::GlobalScheduler::load_multiboot_elfs(), and Multiboot().
| unsigned long MaxOS::system::Multiboot::end_address |
The end address of the multiboot info struct.
Definition at line 540 of file multiboot.h.
Referenced by Multiboot().
| unsigned long MaxOS::system::Multiboot::start_address |
The start address of the multiboot info struct.
Definition at line 539 of file multiboot.h.
Referenced by start_tag().