Enum multiboot2::TagType
source · [−]#[repr(u32)]
pub enum TagType {
Show 22 variants
End,
Cmdline,
BootLoaderName,
Module,
BasicMeminfo,
Bootdev,
Mmap,
Vbe,
Framebuffer,
ElfSections,
Apm,
Efi32,
Efi64,
Smbios,
AcpiV1,
AcpiV2,
Network,
EfiMmap,
EfiBs,
Efi32Ih,
Efi64Ih,
LoadBaseAddr,
}
Expand description
Possible types of a Tag in the Multiboot2 Information Structure (MBI), therefore the value
of the the typ
property. The names and values are taken from the example C code
at the bottom of the Multiboot2 specification.
Variants
End
Marks the end of the tags.
Cmdline
Additional command line string.
For example ''
or '--my-custom-option foo --provided by_grub
, if your GRUB config
contains multiboot2 /boot/multiboot2-binary.elf --my-custom-option foo --provided by_grub
BootLoaderName
Name of the bootloader, e.g. ‘GRUB 2.04-1ubuntu44.2’
Module
Additional Multiboot modules, which are BLOBs provided in memory. For example an initial ram disk with essential drivers.
BasicMeminfo
‘mem_lower’ and ‘mem_upper’ indicate the amount of lower and upper memory, respectively, in kilobytes. Lower memory starts at address 0, and upper memory starts at address 1 megabyte. The maximum possible value for lower memory is 640 kilobytes. The value returned for upper memory is maximally the address of the first upper memory hole minus 1 megabyte. It is not guaranteed to be this value.
This tag may not be provided by some boot loaders on EFI platforms if EFI boot services are enabled and available for the loaded image (EFI boot services not terminated tag exists in Multiboot2 information structure).
Bootdev
This tag indicates which BIOS disk device the boot loader loaded the OS image from. If the OS image was not loaded from a BIOS disk, then this tag must not be present. The operating system may use this field as a hint for determining its own root device, but is not required to.
Mmap
Memory map. The map provided is guaranteed to list all standard RAM that should be available for normal use. This type however includes the regions occupied by kernel, mbi, segments and modules. Kernel must take care not to overwrite these regions.
Vbe
Contains the VBE control information returned by the VBE Function 00h and VBE mode information returned by the VBE Function 01h, respectively. Note that VBE 3.0 defines another protected mode interface which is incompatible with the old one. If you want to use the new protected mode interface, you will have to find the table yourself.
Framebuffer
Framebuffer.
ElfSections
This tag contains section header table from an ELF kernel, the size of each entry, number of entries, and the string table used as the index of names. They correspond to the ‘shdr_*’ entries (‘shdr_num’, etc.) in the Executable and Linkable Format (ELF) specification in the program header.
Apm
APM table. See Advanced Power Management (APM) BIOS Interface Specification, for more information.
Efi32
This tag contains pointer to i386 EFI system table.
Efi64
This tag contains pointer to amd64 EFI system table.
Smbios
This tag contains a copy of SMBIOS tables as well as their version.
AcpiV1
Also called “AcpiOld” in other multiboot2 implementations.
AcpiV2
Refers to version 2 and later of Acpi. Also called “AcpiNew” in other multiboot2 implementations.
Network
This tag contains network information in the format specified as DHCP. It may be either a real DHCP reply or just the configuration info in the same format. This tag appears once per card.
EfiMmap
This tag contains EFI memory map as per EFI specification. This tag may not be provided by some boot loaders on EFI platforms if EFI boot services are enabled and available for the loaded image (EFI boot services not terminated tag exists in Multiboot2 information structure).
EfiBs
This tag indicates ExitBootServices wasn’t called.
Efi32Ih
This tag contains pointer to EFI i386 image handle. Usually it is boot loader image handle.
Efi64Ih
This tag contains pointer to EFI amd64 image handle. Usually it is boot loader image handle.
LoadBaseAddr
This tag contains image load base physical address. The spec tells “It is provided only if image has relocatable header tag.” but experience showed that this is not true for at least GRUB 2.
Trait Implementations
sourceimpl Ord for TagType
impl Ord for TagType
sourceimpl PartialOrd<TagType> for TagType
impl PartialOrd<TagType> for TagType
sourcefn partial_cmp(&self, other: &TagType) -> Option<Ordering>
fn partial_cmp(&self, other: &TagType) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
impl Copy for TagType
impl Eq for TagType
impl StructuralEq for TagType
impl StructuralPartialEq for TagType
Auto Trait Implementations
impl RefUnwindSafe for TagType
impl Send for TagType
impl Sync for TagType
impl Unpin for TagType
impl UnwindSafe for TagType
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more