Skip to content

Commit f698a0f

Browse files
committed
Add changelog for rust-osdev projects
1 parent bfe2769 commit f698a0f

File tree

1 file changed

+105
-0
lines changed

1 file changed

+105
-0
lines changed

content/this-month/2024-07/index.md

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,111 @@ It can even be used together with `virtio-spec` when creating a driver for the V
7373
This crate essentially brings [`#include <linux/fuse.h>`](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/uapi/linux/fuse.h?h=v6.9) to Rust.
7474
The code is autogenerated using [`bindgen`](https://github.com/rust-lang/rust-bindgen), ensuring the correctness of definitions.
7575

76+
### [`uefi-rs`](https://github.com/rust-osdev/uefi-rs)
77+
<span class="maintainers">Maintained by [@GabrielMajeri](https://github.com/GabrielMajeri), [@nicholasbishop](https://github.com/nicholasbishop), and [@phip1611](https://github.com/phip1611)</span>
78+
79+
The `uefi-rs` crate provides safe and performant wrappers for [UEFI](https://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface), the successor to the BIOS. We merged the following PRs this month:
80+
81+
- [release: uefi-macros-0.14.0, uefi-raw-0.6.0, uefi-0.29.0](https://github.com/rust-osdev/uefi-rs/pull/1221)
82+
- [book: Publish the latest release instead of main](https://github.com/rust-osdev/uefi-rs/pull/1224)
83+
- [Add redirects for all the html files under HEAD](https://github.com/rust-osdev/uefi-rs/pull/1225)
84+
- [Drop SystemTable arg from uefi::helpers::init](https://github.com/rust-osdev/uefi-rs/pull/1226)
85+
- [uefi-macros: Allow zero-param function in the entry macro](https://github.com/rust-osdev/uefi-rs/pull/1227)
86+
- [uefi: Fix return value lifetime for register_protocol_notify](https://github.com/rust-osdev/uefi-rs/pull/1228)
87+
- [logger: Remove some unnecessary cfgs](https://github.com/rust-osdev/uefi-rs/pull/1235)
88+
- [fix(deps): update rust crate syn to v2.0.70](https://github.com/rust-osdev/uefi-rs/pull/1231)
89+
- [uefi: _print more failsafe](https://github.com/rust-osdev/uefi-rs/pull/1239)
90+
- [mem: introduce traits MemoryMap and MemoryMapMut](https://github.com/rust-osdev/uefi-rs/pull/1234)
91+
- [Add uefi::system module](https://github.com/rust-osdev/uefi-rs/pull/1237)
92+
- [Add PcrEvent::new_in_box/PcrEventInputs::new_in_box](https://github.com/rust-osdev/uefi-rs/pull/1246)
93+
- [Add uefi::runtime module](https://github.com/rust-osdev/uefi-rs/pull/1249)
94+
- [runtime: Add freestanding functions to get/set/delete UEFI variables](https://github.com/rust-osdev/uefi-rs/pull/1250)
95+
- [boot: Always impl Drop for MemoryMapBackingMemory](https://github.com/rust-osdev/uefi-rs/pull/1248)
96+
- [test-runner: Drop the memory map OOM loop](https://github.com/rust-osdev/uefi-rs/pull/1254)
97+
- [uefi-raw: Add more MemoryType constants](https://github.com/rust-osdev/uefi-rs/pull/1253)
98+
- [Add variable key functions to `uefi::runtime`](https://github.com/rust-osdev/uefi-rs/pull/1252)
99+
- [uefi: mem: mem.rs -> mem/mod.rs](https://github.com/rust-osdev/uefi-rs/pull/1251)
100+
- [runtime: Add query_variable_info](https://github.com/rust-osdev/uefi-rs/pull/1256)
101+
- [Fix CI for Rust 1.80](https://github.com/rust-osdev/uefi-rs/pull/1261)
102+
- [Add capsule update functions to `uefi::runtime`](https://github.com/rust-osdev/uefi-rs/pull/1259)
103+
- [Add uefi::boot module](https://github.com/rust-osdev/uefi-rs/pull/1255)
104+
- [runtime: Add uefi::runtime::reset](https://github.com/rust-osdev/uefi-rs/pull/1258)
105+
- [cleanup/follow-up: memory_map](https://github.com/rust-osdev/uefi-rs/pull/1240)
106+
- [Move the global image handle to uefi::boot](https://github.com/rust-osdev/uefi-rs/pull/1262)
107+
- [Add `boot::locate_handle_buffer`](https://github.com/rust-osdev/uefi-rs/pull/1269)
108+
- [boot: Add freestanding version of open_protocol](https://github.com/rust-osdev/uefi-rs/pull/1270)
109+
- [boot: Add freestanding version of open_protocol_exclusive](https://github.com/rust-osdev/uefi-rs/pull/1272)
110+
- [Finalize memory_map module refactoring](https://github.com/rust-osdev/uefi-rs/pull/1263)
111+
- [Add `boot::{load_image, unload_image, start_image}`](https://github.com/rust-osdev/uefi-rs/pull/1273)
112+
- [clippy: add use_self and const fn](https://github.com/rust-osdev/uefi-rs/pull/1271)
113+
- [clippy: streamline lints](https://github.com/rust-osdev/uefi-rs/pull/1274)
114+
- [ci: reorganize nightly CI jobs](https://github.com/rust-osdev/uefi-rs/pull/1275)
115+
116+
<!-- - [fix(deps): update rust crate clap to v4.5.8](https://github.com/rust-osdev/uefi-rs/pull/1220) -->
117+
<!-- - [chore(deps): update rust crate log to v0.4.22](https://github.com/rust-osdev/uefi-rs/pull/1219) -->
118+
<!-- - [chore(deps): update crate-ci/typos action to v1.23.1](https://github.com/rust-osdev/uefi-rs/pull/1232) -->
119+
<!-- - [chore(deps): lock file maintenance](https://github.com/rust-osdev/uefi-rs/pull/1233) -->
120+
<!-- - [chore(deps): update crate-ci/typos action to v1.23.2](https://github.com/rust-osdev/uefi-rs/pull/1242) -->
121+
<!-- - [chore(deps): lock file maintenance](https://github.com/rust-osdev/uefi-rs/pull/1245) -->
122+
<!-- - [chore(deps): lock file maintenance](https://github.com/rust-osdev/uefi-rs/pull/1257) -->
123+
<!-- - [chore(deps): update crate-ci/typos action to v1.23.5](https://github.com/rust-osdev/uefi-rs/pull/1265) -->
124+
<!-- - [chore(deps): lock file maintenance](https://github.com/rust-osdev/uefi-rs/pull/1267) -->
125+
<!-- - [fix(deps): update rust crate heck to 0.5.0](https://github.com/rust-osdev/uefi-rs/pull/1268) -->
126+
127+
128+
129+
### [`acpi`](https://github.com/rust-osdev/acpi)
130+
<span class="maintainers">Maintained by [@IsaacWoods](https://github.com/IsaacWoods)</span>
131+
132+
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. We merged the following changes this month:
133+
134+
- [acpi: add support for SPCR table](https://github.com/rust-osdev/acpi/pull/216)
135+
136+
Thanks to [@00xc](https://github.com/00xc) for their contributions!
137+
138+
139+
### [`uart_16550`](https://github.com/rust-osdev/uart_16550)
140+
<span class="maintainers">Maintained by [@phil-opp](https://github.com/phil-opp)</span>
141+
142+
The `uart_16550` crate provides basic support for serial port I/O for 16550-compatible UARTs. We merged the following change this month:
143+
144+
- [build(deps): update bitflags dependency to version 2](https://github.com/rust-osdev/uart_16550/pull/33)
145+
- [feat: add `try_send_raw` and `try_receive`](https://github.com/rust-osdev/uart_16550/pull/34)
146+
147+
Thanks to [@mkroening](https://github.com/mkroening) for their contributions!
148+
149+
150+
### [`endian-num`](https://github.com/rust-osdev/endian-num)
151+
<span class="maintainers">Maintained by [@mkroening](https://github.com/mkroening)</span>
152+
153+
The `endian-num` crate provides the `Be` (big-endian) and `Le` (little-endian) byte-order-aware numeric types.
154+
155+
- [test: fix doctests for 32-bit and 16-bit pointer widths](https://github.com/rust-osdev/endian-num/pull/4)
156+
- [chore: remove appendix from LICENSE-APACHE](https://github.com/rust-osdev/endian-num/pull/5)
157+
158+
159+
### [`bootloader`](https://github.com/rust-osdev/bootloader)
160+
<span class="maintainers">Maintained by [@phil-opp](https://github.com/phil-opp) and [@Freax13](https://github.com/orgs/rust-osdev/people/Freax13)</span>
161+
162+
The `bootloader` crate implements a custom Rust-based bootloader for easy loading of 64-bit ELF executables. This month, we merged the following improvements:
163+
164+
- [always cover at least the first 4 GiB of physical memory](https://github.com/rust-osdev/bootloader/pull/448)
165+
166+
167+
### [`x86_64`](https://github.com/rust-osdev/x86_64)
168+
<span class="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>
169+
170+
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.
171+
172+
We merged the following PR this month:
173+
174+
- [Ensure that Page actually implements Hash](https://github.com/rust-osdev/x86_64/pull/490)
175+
- [don't use label starting with `1`](https://github.com/rust-osdev/x86_64/pull/492)
176+
- [Add size and len for PageRange, PhysFrameRange, PageRangeInclusive and PhysFrameRangeInclusive](https://github.com/rust-osdev/x86_64/pull/491)
177+
- [fix testing](https://github.com/rust-osdev/x86_64/pull/495)
178+
179+
Thanks to [@Wasabi375](https://github.com/Wasabi375) for their contribution!
180+
76181

77182
<!--
78183
Please use the following template:

0 commit comments

Comments
 (0)