Collaboration diagram for Bootstrapping:
Classes | |
struct | Zygoma::ia32::MultibootHeader |
Header found in the OS image describing the OSs' needs to the bootloader. More... | |
struct | Zygoma::ia32::LoadModuleDescriptor |
Multiboot Load Module descriptor. More... | |
struct | Zygoma::ia32::MemoryMapDescriptor |
Multiboot System Memory Map descriptor. More... | |
struct | Zygoma::ia32::DiskDriveMapDescriptor |
Multiboot Disk Drive Map desriptor. More... | |
struct | Zygoma::ia32::MultibootInfo |
Structure passed to the OS by the multiboot loader on startup. More... | |
Variables | |
static const u32 | kMULTIBOOT_HEADER_FLAGS |
The multiboot header flags required to load the Zygoma kernel. | |
MultibootHeader | gMultibootHeader (".multiboot") |
This is the instance of the multiboot header the kernel supplies to the multiboot loader. |
|
Initial value: { MultibootHeader::kMAGIC, kMULTIBOOT_HEADER_FLAGS, -(MultibootHeader::kMAGIC + kMULTIBOOT_HEADER_FLAGS), 0 } It gets instantiated in its own link section which the linker should explicitly put at or near the begiing of the kernel image, because the multiboot header must be initialized and supplied as early as possible in the first 8192 bytes of the OS image, and must be aligned on a 4-byte bounday. |
|
Initial value: MultibootHeader::kFLAGS_ALIGN_ON_4K | MultibootHeader::kFLAGS_INCLUDE_MEM_FIELDS Since on an ia32 architecture the Zygoma kernel uses the ELF executable object format, only a minimum of fields are supplied in the multiboot header. |