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
Copy file name to clipboardExpand all lines: content/this-month/2026-04/index.md
+96-3Lines changed: 96 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -40,7 +40,18 @@ Please follow this template:
40
40
- (optional) Some additional context
41
41
-->
42
42
43
-
<spanclass="gray">No content was submitted for this section this month.</span>
43
+
-[octopos: xv6 based operating system for RISC-V in Rust](https://www.boranseckin.com/projects/octopos)
44
+
- A Rust port of xv6 that targets RISC-V and runs without the standard library, including process management, Sv39 page tables, VirtIO disk support, and a POSIX-style syscall interface.
45
+
-[Bringing Rust to the Pixel Baseband](https://blog.google/security/bringing-rust-to-the-pixel-baseband/)
46
+
- Google describes adding Rust to Pixel modem firmware, including `no_std` support for Hickory DNS dependencies, `core`/`alloc` integration, allocator and panic handler hooks, and firmware linking details.
47
+
-[tinyboot v0.4.0 Released -- The API is Stable](https://aaronqian.com/log/2026-04-22-tinyboot-v040-released/)
48
+
- A minimal Rust bootloader for resource-constrained MCUs. This release adds CH32V00x support, collapses the CH32 crates, stabilizes the wire protocol, and fixes half-duplex UART bugs.
49
+
-[A minimal VMM in Rust with Apple Hypervisor](https://gigapotential.dev/blog/minimal-vmm-in-rust-with-apple-hypervisor/)
50
+
- Walks through building a small virtual machine monitor on Apple Silicon macOS using Rust bindings to Apple's Hypervisor framework.
51
+
-[Rust: Memory safety in kernel space](https://oshub.org/users/OSHub/posts/rust-memory-safety-in-kernel-space-9178dd)
52
+
- An OS-focused introduction to what Rust's ownership and `unsafe` boundaries change for kernel development.
53
+
-[Using Rust to Build a $1 Handheld Gaming Console](https://chrisdell.info/using-rust-to-build-a-1-dollar-handheld-gaming-console/)
54
+
- A small embedded Rust project on the CH32V003 RISC-V microcontroller, with notes on RAM-constrained rendering and fixed-point math.
44
55
45
56
## Infrastructure and Tooling
46
57
@@ -53,7 +64,17 @@ In this section, we collect recent updates to `rustc`, `cargo`, and other toolin
53
64
- (optional) Some additional context
54
65
-->
55
66
56
-
<spanclass="gray">No content was submitted for this section this month.</span>
- Stabilizes `cfg_select!`, atomic `update`/`try_update` methods, and allocator layout helpers such as `Layout::{dangling_ptr, repeat, repeat_packed, extend_packed}`.
69
+
- Important for custom-target users: stable `rustc` no longer accepts JSON target specifications. Building `core` for custom targets still requires nightly-only features.
- Proposed Cargo configuration for rebuilding standard library crates, part of the ongoing effort to make `build-std` usable on stable.
76
+
- Move `std::io` pieces toward `core::io`
77
+
-[`ErrorKind`](https://github.com/rust-lang/rust/pull/154654) and [`RawOsError`](https://github.com/rust-lang/rust/pull/155574) were moved into `core::io`, continuing the groundwork for more IO abstractions in `no_std` contexts.
57
78
58
79
## `rust-osdev` Projects
59
80
@@ -71,7 +92,79 @@ In this section, we give an overview of notable changes to the projects hosted u
71
92
<<changelog, either in list or text form>>
72
93
-->
73
94
74
-
<spanclass="gray">No projects updates were submitted this month.</span>
95
+
### [`acpi`](https://github.com/rust-osdev/acpi)
96
+
<spanclass="maintainers">Maintained by [@IsaacWoods](https://github.com/IsaacWoods)</span>
97
+
98
+
The `acpi` repository contains crates for parsing the ACPI tables – data structures that the firmware of modern computers use to relay information about the hardware to the OS.
99
+
100
+
We merged the following changes this month:
101
+
102
+
-[Support multiple tables per test in `aml_tester`](https://github.com/rust-osdev/acpi/pull/284)
103
+
-[Implement Index and Bank fields](https://github.com/rust-osdev/acpi/pull/274)
104
+
-[Add support for running the tests from uACPI.](https://github.com/rust-osdev/acpi/pull/285)
105
+
-[Remove some AML-triggerable panics from library](https://github.com/rust-osdev/acpi/pull/276)
106
+
-[Derive Clone, Debug on useful objects](https://github.com/rust-osdev/acpi/pull/287)
107
+
-[(minor) Trace the table ID better](https://github.com/rust-osdev/acpi/pull/291)
108
+
109
+
Thanks to [@martin-hughes](https://github.com/martin-hughes) for their contributions!
<spanclass="maintainers">Maintained by [@GabrielMajeri](https://github.com/GabrielMajeri), [@nicholasbishop](https://github.com/nicholasbishop), and [@phip1611](https://github.com/phip1611)</span>
114
+
115
+
`uefi` makes it easy to develop Rust software that leverages safe, convenient,
116
+
and performant abstractions for UEFI functionality.
117
+
118
+
We merged the following PRs this month:
119
+
120
+
-[uefi: make TimerTrigger more pleasant to use](https://github.com/rust-osdev/uefi-rs/pull/1934)
<spanclass="maintainers">Maintained by [@phil-opp](https://github.com/phil-opp) and [@Freax13](https://github.com/Freax13)</span>
139
+
140
+
The `bootloader` crate implements a custom Rust-based bootloader for easy loading of 64-bit ELF executables. This month, we merged the following change:
141
+
142
+
-[Update to v0.11.15 and add missing x86_64-unknown-uefi target ](https://github.com/rust-osdev/bootloader/pull/557)
143
+
144
+
<!-- - [Bump rand from 0.8.5 to 0.8.6](https://github.com/rust-osdev/bootloader/pull/559) -->
145
+
<!-- - [Bump rustls-webpki from 0.103.10 to 0.103.13 in /examples/basic](https://github.com/rust-osdev/bootloader/pull/560) -->
146
+
147
+
Thanks to [@peppergrayxyz](https://github.com/peppergrayxyz) for their contribution!
<spanclass="maintainers">Maintained by [@phil-opp](https://github.com/phil-opp) and [@jamesmunns](https://github.com/jamesmunns)</span>
152
+
153
+
The `linked-list-allocator` crate provides a basic `no_std` allocator that builds a linked list from freed memory blocks and thus needs no additional data structures. We merged the following PR this month:
154
+
155
+
-[fix(alloc_ref): use renamed `dangling`](https://github.com/rust-osdev/linked-list-allocator/pull/90)
156
+
157
+
Thanks to [@sermuns](https://github.com/sermuns) for their contribution!
<spanclass="maintainers">Maintained by [@phil-opp](https://github.com/phil-opp), [@josephlr](https://github.com/orgs/rust-osdev/people/josephlr), and [@Freax13](https://github.com/orgs/rust-osdev/people/Freax13)</span>
162
+
163
+
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.
164
+
165
+
We merged the following PR this month:
166
+
167
+
-[insert NOP after STI](https://github.com/rust-osdev/x86_64/pull/588)
0 commit comments