Skip to content

Commit 8e33151

Browse files
committed
Add updates for bootloader, x86_64, and uefi crates
1 parent 34ac799 commit 8e33151

File tree

1 file changed

+37
-6
lines changed

1 file changed

+37
-6
lines changed

content/this-month/2021-03/index.md

Lines changed: 37 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,43 @@ In this section, we give an overview of notable changes to the projects hosted u
2222

2323
[`rust-osdev`]: https://github.com/rust-osdev/about
2424

25+
### [`bootloader`](https://github.com/rust-osdev/bootloader)
26+
27+
The `bootloader` crate implements a custom Rust-based bootloader for easy loading of 64-bit ELF executables. This month, we fixed some build errors that were caused by the update to LLVM 12 in recent Rust nightlies:
28+
29+
- [Fix linker errors on latest nightlies](https://github.com/rust-osdev/bootloader/pull/139) <span class="gray">(published as `v0.9.15`)</span>
30+
- [Replace all remaining `lea`s with `mov` + `offset`](https://github.com/rust-osdev/bootloader/pull/140) <span class="gray">(published as `v0.9.16`)</span>
31+
32+
We also made some good progress on the [UEFI rewrite](https://github.com/rust-osdev/bootloader/pull/130):
33+
34+
- [Set up VESA mode properly instead of hardcoding it](https://github.com/rust-osdev/bootloader/pull/130/commits/7f7fec78ffb7125a7eb0312698714d7897bf9fb9)
35+
- [Detect actual pixel format instead of hardcoding it (BIOS)](https://github.com/rust-osdev/bootloader/pull/130/commits/58564910a743ec48e6c1b3113151d96c7b54ca63)
36+
- [Use `quote` crate for creating `Config` struct instead of debug impls](https://github.com/rust-osdev/bootloader/pull/130/commits/f7478eba3034c98bde0c7725ce21a7b56a473d61)
37+
- [Allow specifying addresses as TOML integers too](https://github.com/rust-osdev/bootloader/pull/130/commits/ba9d943dbb18ef756979f1d2c14df297c1003b45)
38+
- [Add docs for crate and `Config` struct](https://github.com/rust-osdev/bootloader/pull/130/commits/536e0f6b53b8dcd53b6125c3383dec3bdb7a3cc3)
39+
- [Document the created disk images](https://github.com/rust-osdev/bootloader/pull/130/commits/eccb89d61a3e390b36f767d6d8780187bd962e58)
40+
41+
### [`x86_64`](https://github.com/rust-osdev/x86_64)
42+
43+
The `x86_64` crate provides various abstractions for `x86_64` systems, including wrappers for CPU instructions, access to processor-specific registers, and abstraction types for architecture-specific structures such as page tables and descriptor tables.
44+
45+
In March, we merged these changes:
46+
47+
- [Implement `Clone` for `PageTable`](https://github.com/rust-osdev/x86_64/pull/236) <span class="gray">(published as `v0.13.3`)</span>
48+
- [Implement more fmt traits for addr types](https://github.com/rust-osdev/x86_64/pull/237) <span class="gray">(published as `v0.13.4`)</span>
49+
50+
Thanks to [@toku-sa-n](https://github.com/toku-sa-n) and [@dbeckwith](https://github.com/dbeckwith) for their contributions!
51+
52+
### [`uefi-rs`](https://github.com/rust-osdev/uefi-rs)
53+
54+
The `uefi` crate provides safe and performant wrappers for [UEFI](https://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface), the successor to the BIOS. In March, we merged the following changes:
55+
56+
- [Expose device path types](https://github.com/rust-osdev/uefi-rs/pull/202)
57+
- [Fix running tests in CI](https://github.com/rust-osdev/uefi-rs/pull/203)
58+
- [Fix typo in regular.rs](https://github.com/rust-osdev/uefi-rs/pull/204)
59+
60+
Thanks to [@gil0mendes](https://github.com/gil0mendes) and [@ocadaruma](https://github.com/ocadaruma) for their contributions!
61+
2562
### [`multiboot2`](https://github.com/rust-osdev/multiboot2-elf64)
2663

2764
The `multiboot2` crate provides abstraction types for the boot information of multiboot2 bootloaders. We merged the following updates this month:
@@ -42,12 +79,6 @@ The `volatile` crate provides a safe wrapper type for implementing volatile read
4279

4380
Thanks to [@KernelFreeze](https://github.com/KernelFreeze) for their contribution!
4481

45-
### [`x86_64`](https://github.com/rust-osdev/x86_64)
46-
47-
The `x86_64` crate provides various abstractions for `x86_64` systems, including wrappers for CPU instructions, access to processor-specific registers, and abstraction types for architecture-specific structures such as page tables and descriptor tables.
48-
49-
In March, …
50-
5182
## Personal Projects
5283

5384
In this section, we describe updates to personal projects that are not directly related to the `rust-osdev` organization. Feel free to [create a pull request](https://github.com/rust-osdev/homepage/pulls) with the updates of your OS project for the next post.

0 commit comments

Comments
 (0)