You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -8,38 +9,45 @@ Multiboot2-compliant bootloaders, such as GRUB. It supports all tags from the
8
9
specification including full support for the sections of ELF files. This library
9
10
is `no_std` and can be used in a Multiboot2-kernel.
10
11
11
-
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.
12
+
It follows the Multiboot 2.0 specification
13
+
at https://www.gnu.org/software/grub/manual/multiboot2/multiboot.html and the
14
+
ELF 64 specification at http://www.uclibc.org/docs/elf-64-gen.pdf.
12
15
13
16
## Features and `no_std` Compatibility
17
+
14
18
This library is always `no_std` without `alloc`. However, the default `builder`-
15
19
feature requires the `alloc`-crate and an `#[global_allocator]` to be available.
16
20
You need the `builder` only if you want to construct new boot information
17
21
structures at runtime. For parsing, this is not relevant, and you can
18
22
deactivate the default feature.
19
23
20
24
## Background: The Multiboot 2 Information Structure
25
+
21
26
The Multiboot information structure looks like this:
22
27
23
-
Field | Type
24
-
---------------- | -----------
25
-
total size | u32
26
-
reserved | u32
27
-
tags | variable
28
-
end tag = (0, 8) | (u32, u32)
28
+
Field | Type
29
+
------------------|------------
30
+
total size | u32
31
+
reserved | u32
32
+
tags | variable
33
+
end tag = (0, 8) | (u32, u32)
29
34
30
35
There are many different types of tags, but they all have the same beginning:
31
36
32
-
Field | Type
33
-
------------- | -----------------
34
-
type | u32
35
-
size | u32
36
-
other fields | variable
37
+
Field | Type
38
+
--------------|----------
39
+
type | u32
40
+
size | u32
41
+
other fields | variable
37
42
38
-
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`.
43
+
All tags and the mbi itself are 8-byte aligned. The last tag must be the _end
44
+
tag_, which is a tag of type `0` and size `8`.
39
45
40
46
## MSRV
41
-
The MSRV is 1.69.0 stable.
47
+
48
+
The MSRV is 1.70.0 stable.
42
49
43
50
## License & Contribution
44
51
45
-
See main [README](https://github.com/rust-osdev/multiboot2/blob/main/README.md) file.
52
+
See main [README](https://github.com/rust-osdev/multiboot2/blob/main/README.md)
0 commit comments