Adapt to multiboot2 v2.0
Closed this issue · 4 comments
About a year ago a new version of the multiboot2 specification was created. It is backwards compatible to v1.6 which is currently used in this repository. The new version provides features useful for EFI based systems. For example among others a copy of the ACPI RSDP structure is available in the boot information.
Necessary changes to this crate would be adding the necessary API to access the new tags in the multiboot2 boot information and adapt to all other differences between the two versions of the specification.
The specification is available (seemingly since ever) in the GRUB git repository https://git.savannah.gnu.org/git/grub.git on the multiboot2 branch.
In it, the following commands have to be executed: ./autogen.sh; ./configure; make pdf. This will generate a pdf file doc/multiboot.pdf which contains the multiboot2 specification.
I don't know exactly what dependencies are required to generate this file, but among them are certainly gnulib for autogen.sh and texinfo because the spec is written in texinfo format.
If you don't want to go through the generation process and trust me (that I didn't mess with the file), you can download the file attached below. I don't guarantee that the information in the file I have uploaded is correct. (If in doubt, generate the file yourself.) I built it off commit d81931d0e5830467b778f20b7eca761240d337f7 made on 2017-03-10.
multiboot.pdf
P.S.: I just read the discussion about issue #22. If this repo is copied and/or redone, it would still be great to provide support for the newer multiboot2 features. If this repo isn't forked, my idea still stands.
If anyone wants to use git diff to view the differences between the currently used specification and the most recent one, the commit that corresponds the most to the currently used specification has hash 5543c4853. There are no differences in the important sections (number 1, 2, 3), but some in the example code and in the formatting of some words in the text accompanying the examples.
Edit: wording
Seconded. I think having things llike quick access to the ACPI structures would be a good addition.
We're about to add support for ACPI RSDP structures in #43, so it would make much sense to update the rest of this crate to version 2.0 as well.
I am trying to update this crate to multiboot 2.0. Most of the changes are for the EFI memory map and adding APCI information.