Skip to content

Commit 34ac799

Browse files
committed
Add updates for multiboot2 and volatile
1 parent e27181f commit 34ac799

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

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

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,26 @@ 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+
### [`multiboot2`](https://github.com/rust-osdev/multiboot2-elf64)
26+
27+
The `multiboot2` crate provides abstraction types for the boot information of multiboot2 bootloaders. We merged the following updates this month:
28+
29+
- [Use `impl Iterator` as return type instead of named types](https://github.com/rust-osdev/multiboot2-elf64/pull/72)
30+
- [Docs: Remove fragile `asm!` code example](https://github.com/rust-osdev/multiboot2-elf64/pull/73)
31+
- [Apply `rustfmt`](https://github.com/rust-osdev/multiboot2-elf64/pull/74)
32+
33+
Thanks to [@toku-sa-n](https://github.com/toku-sa-n) for their contributions!
34+
35+
### [`volatile`](https://github.com/rust-osdev/volatile)
36+
37+
The `volatile` crate provides a safe wrapper type for implementing volatile read and write operations. This is useful for accessing memory regions that have side-effects, such as memory-mapped hardware registers or framebuffers. In March, we fixed a build error that was caused by a change in nightly Rust:
38+
39+
- [Replace feature `range_bounds_assert_len` with `slice_range`](https://github.com/rust-osdev/volatile/pull/21) <span class="gray">(published as `v0.4.4`)</span>
40+
- [Add a test for `slice::as_chunks_mut` usage](https://github.com/rust-osdev/volatile/commit/15bbfac9c7cb42ff56698ac5c00daeddbcdb6a0d)
41+
- By using `as_chunks_mut`, it is possible read and write multiple slice elements through a single volatile operation. This allows the compiler to optimize the code better (compared to reading the elements one by one).
42+
43+
Thanks to [@KernelFreeze](https://github.com/KernelFreeze) for their contribution!
44+
2545
### [`x86_64`](https://github.com/rust-osdev/x86_64)
2646

2747
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.

0 commit comments

Comments
 (0)