multiboot2
InformationBuilder
chainable. They now consume the builder.MULTIBOOT2_BOOTLOADER_MAGIC
to MAGIC
EFIMemoryDesc
was removed and is now an alias of
uefi_raw::table::boot::MemoryDescriptor
EFIMemoryAreaType
was removed and is now an alias of
uefi_raw::table::boot::MemoryType
MemoryAreaIter
and MemoryMapTag::available_memory_areas
BootInformation::load_base_addr
to BootInformation::load_base_addr_tag
BootInformation::efi_32_ih
to BootInformation::efi_32_ih_tag
BootInformation::efi_32_ih
to BootInformation::efi_32_ih_tag
ImageLoadPhysAddr
to ImageLoadPhysAddrTag
EFIImageHandle32
to EFIImageHandle32Tag
EFIImageHandle64
to EFIImageHandle64Tag
EFISdt32
to EFISdt32Tag
EFISdt64
to EFISdt64Tag
EFIBootServicesNotExited
to EFIBootServicesNotExitedTag
CommandLineTag::command_line
renamed to CommandLineTag::cmdline
TagTrait
trait which enables to use DSTs as multiboot2 tags. This is
mostly relevant for the command line tag, the modules tag, and the bootloader
name tag. However, this might also be relevant for users of custom multiboot2
tags that use DSTs as types. See the example provided in the doc of the
get_tag
method.builder
feature and a builder
module with a
builder::InformationBuilder
structBootInformation::efi_bs_not_exited_tag
load
and load_with_offset
BootInformation::load
as new default constructorMemoryMapTag::entry_size
and MemoryMapTag::entry_version
MemoryMapTag::all_memory_areas()
was renamed to memory_areas
and now returns MemoryAreaIter
instead of
impl Iterator<Item = &MemoryArea>
. Experience showed that its better to
return the specific iterator whenever possible.MemoryMapTag::memory_areas()
was renamed to
available_memory_areas
(Sorry for the breaking changes in a minor release, but I just stumbled upon
this und since the last breaking release was just yesterday, users have to
deal with changes anyway.)ElfSection::name()
now returns a Result instead of just the
value. This prevents possible panics.ElfSection::section_type()
VBEInfoTag
is no longer &static
TagType
is now split into TagTypeId
and TagType
TagTypeId
is a binary-compatible form of a Multiboot2 tag idTagType
is a higher-level abstraction for either specified or custom tags
but not ABI compatible.u32
, TagType
, and
TagTypeId
via From
and PartialEq
-implementations.BootInformation::framebuffer_tag()
now returns
Option<Result<FramebufferTag, UnknownFramebufferType>>
instead of
Option<FramebufferTag>
which prevents a possible panic. If the --unstable
feature is used, UnknownFramebufferType
implements core::error::Error
.BootInformation::efi_memory_map_tag
BootInformation
now publicly exports the get_tag
function allowing you to
work with custom tags. An example is given in the function documentation.
(check docs.rs). There is also a small unit test that you can use to learn
from.MbiLoadError
now implements Display
unstable
feature, which enables nightly-only functionality.
With this feature, MbiLoadError
now implements core::error::Error
and can
be used with anyhow::Result
for example.BootLoaderNameTag::name
now returns a Result instead of just the valueCommandLineTag::command_line
now returns a Result instead of just the valueModuleTag::cmdline
now returns a Result instead of just the valueRsdpV1Tag::signature
now returns a Result instead of an OptionRsdpV1Tag::oem_id
now returns a Result instead of an OptionRsdpV2Tag::signature
now returns a Result instead of an OptionRsdpV2Tag::oem_id
now returns a Result instead of an OptionSend
for BootInformation
TagType
now implements Ord
so that it can be used in BTreeSet
ImageLoadPhysAddr
EFIImageHandle32
and EFIImageHandle64
TagType
now implements Eq
and Hash
std
can be used in tests; the crate is still no_std
cargo test
doesn't work on "non-standard" targets.editorconfig
filemultiboot2
and multiboot2-header
in a Cargo workspace inside the same repositoryTagType
-enum introduced in v0.11
is now actually publicload()
and load_with_offset
now returns a resultMULTIBOOT2_BOOTLOADER_MAGIC
ElfSectionsTag::sections()
) return impl Iterator
instead of a concrete typeTagType
-enum that contains
all possible mbi tags that are specified (taken from spec)BootInformation
checksum_is_valid
method to the RSDP tags (#64)