Rusty wrappers for Multiboot2.
|  | 4 жил өмнө | |
|---|---|---|
| .github | 4 жил өмнө | |
| src | 4 жил өмнө | |
| .editorconfig | 4 жил өмнө | |
| .gitignore | 9 жил өмнө | |
| Cargo.toml | 4 жил өмнө | |
| Changelog.md | 4 жил өмнө | |
| LICENSE-APACHE | 9 жил өмнө | |
| LICENSE-MIT | 9 жил өмнө | |
| README.md | 4 жил өмнө | 
Rust library that helps you to parse the multiboot information structure (mbi) from
Multiboot2-compliant bootloaders, like GRUB. It supports all tags from the specification
including full support for the sections of ELF-64 files. This library is no_std and can be
used in a Multiboot2-kernel.
It follows the Multiboot 2.0 specification at https://www.gnu.org/software/grub/manual/multiboot2/multiboot.html and the ELF 64 specification at http://www.uclibc.org/docs/elf-64-gen.pdf.
The Multiboot information structure looks like this:
| Field | Type | 
|---|---|
| total size | u32 | 
| reserved | u32 | 
| tags | variable | 
| end tag = (0, 8) | (u32, u32) | 
There are many different types of tags, but they all have the same beginning:
| Field | Type | 
|---|---|
| type | u32 | 
| size | u32 | 
| other fields | variable | 
All tags and the mbi itself are 8-byte aligned. The last tag must be the end tag, which is a tag of type 0 and size 8.
Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.