Skip to content

Commit 58d58b5

Browse files
committed
Minor improvements
1 parent 66e7057 commit 58d58b5

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

content/this-month/2020-09.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ In this section, we give an overview of notable changes to the projects hosted u
3232
[`rust-osdev`]: https://github.com/rust-osdev/about
3333

3434
### [`acpi`](https://github.com/rust-osdev/acpi)
35-
<span class="gray">(Section written by [@IsaacWoods](https://github.com/IsaacWoods))</span>
35+
3636
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. Lots of work happened this month:
3737

3838
* [Support](https://github.com/rust-osdev/acpi/pull/76) for the `Fixed Memory`, `Word Address Space`, `DWord Address Space`, `QWord Address Space`, `IRQ Format`,
@@ -45,7 +45,7 @@ The `acpi` repository contains crates for parsing the ACPI tables – data struc
4545
important to the Redox project as it allows parsing of the ACPI tables in userspace. We also used this
4646
opportunity for breaking changes to clean up a few parts of the library, especially in making our method of
4747
mapping physical memory ranges safer.
48-
* A new crate, [rsdp](https://crates.io/crates/rsdp), was split out from `acpi`. This new crate provides methods
48+
* A new crate, [`rsdp`](https://crates.io/crates/rsdp), was split out from `acpi`. This new crate provides methods
4949
for searching for the first ACPI table (the Root System Description Pointer (RSDP)) on BIOS systems without
5050
`alloc` support. This makes it suitable for use from bootloaders and similar applications where heap allocation
5151
is not supported. All types are reexported by the `acpi` crate, so users can access the same functionality from
@@ -78,7 +78,7 @@ The `volatile` crate provides safe wrapper types for implementing volatile read
7878
The main advantage of the new reference-based implementation is that it is now possible to work with volatile arrays and slices, at least on nightly Rust. Through the [`index`](https://docs.rs/volatile/0.4.1/volatile/struct.Volatile.html#method.index) and [`index_mut`](https://docs.rs/volatile/0.4.1/volatile/struct.Volatile.html#method.index_mut) methods it is possible to create sub-slices, which can then be read and written efficiently through the [`copy_into_slice`](https://docs.rs/volatile/0.4.1/volatile/struct.Volatile.html#method.copy_into_slice) and [`copy_from_slice`](https://docs.rs/volatile/0.4.1/volatile/struct.Volatile.html#method.copy_from_slice) methods. All these operations perform volatile memory accesses, so that the compiler won't optimize them away.
7979

8080
### [`pci_types`](https://github.com/rust-osdev/pci_types)
81-
<span class="gray">(Section written by [@IsaacWoods](https://github.com/IsaacWoods))</span>
81+
8282
`pci_types` is a new library in the Rust OSDev organisation that provides types for accessing and configuring PCI
8383
devices from Rust operating systems. Lots of this code (e.g. identifying devices by class codes) can be shared
8484
between projects, and would benefit from community contributions. This month, work started on some types for
@@ -95,7 +95,7 @@ Thanks to [@toku-sa-n](https://github.com/toku-sa-n) for their contribution!
9595

9696
### [`bootloader`](https://github.com/rust-osdev/bootloader)
9797

98-
The [`bootloader` crate](https://github.com/rust-osdev/bootloader) implements a custom Rust-based bootloader for easy loading of 64-bit ELF executables. This month, we published versions `0.9.9` to `0.9.11` to fix build errors on the latest nightlies.
98+
The `bootloader` crate implements a custom Rust-based bootloader for easy loading of 64-bit ELF executables. This month, we published versions `0.9.9` to `0.9.11` to fix build errors on the latest nightlies, caused by the new feature gate names for some `const fn` features.
9999

100100
We also made some more progress on the rewrite with UEFI support. It now [passes additional framebuffer information](https://github.com/rust-osdev/bootloader/commit/3237429457d3df58080fa284d9c2b7138e3fff3a) and the [address of the RSDP structure of ACPI](https://github.com/rust-osdev/bootloader/commit/694d3139fe24bce0184da3bb9096e6540ee1fa3d) in the boot info. (We later updated the RSDP code to [use the new `rsdp` crate](https://github.com/rust-osdev/bootloader/commit/cb8345bd3c45fc3c56a631a3b416137c45f828f9)). The bootloader also gained support for [setting up a recursive page table mapping](https://github.com/rust-osdev/bootloader/commit/34a5da852ba8f6b0abfafb5c5a68adc4cae638fa), which makes it almost feature-equivalent with the current implementation. There are still a few things missings, but it should be ready to be published soon.
101101

@@ -104,6 +104,9 @@ We also made some more progress on the rewrite with UEFI support. It now [passes
104104
The `cargo-xbuild` project provides `cargo` command wrappers to cross-compile the sysroot crates `core` and `alloc`. This month, we merged some maintenance updates to increase platform compatibility:
105105

106106
- [Remove fs2 dependency for broader platform support](https://github.com/rust-osdev/cargo-xbuild/pull/91) <span class="gray">(published as `v0.6.1`)</span>
107+
- [Fix winapi issues from flock() rework](https://github.com/rust-osdev/cargo-xbuild/pull/94) <span class="gray">(published as `v0.6.2`)</span>
108+
109+
Thanks to [@pfmooney](https://github.com/pfmooney) for these contributions!
107110

108111
Even though we still maintain the `cargo-xbuild` crate, we recommend switching to cargo's own `build-std` feature that is always up-to-date with the latest Rust/Cargo changes. We wrote a short guide on how to switch to it, which is available [in our Readme](https://github.com/rust-osdev/cargo-xbuild#alternative-the-build-std-feature-of-cargo).
109112

0 commit comments

Comments
 (0)