#[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

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Feeds this value into the given Hasher. Read more

Feeds a slice of this type into the given Hasher. Read more

This method returns an Ordering between self and other. Read more

Compares and returns the maximum of two values. Read more

Compares and returns the minimum of two values. Read more

Restrict a value to a certain interval. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method returns an ordering between self and other values if one exists. Read more

This method tests less than (for self and other) and is used by the < operator. Read more

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

This method tests greater than (for self and other) and is used by the > operator. Read more

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.