Skip to content

Commit 55e9558

Browse files
authored
Merge pull request #73 from rust-osdev/next
This Month in Rust OSDev (October 2021)
2 parents e2c1aff + ec67b0f commit 55e9558

File tree

1 file changed

+117
-0
lines changed

1 file changed

+117
-0
lines changed

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

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
+++
2+
title = "This Month in Rust OSDev (October 2021)"
3+
date = 2021-11-08
4+
5+
[extra]
6+
month = "October 2021"
7+
authors = [
8+
"phil-opp",
9+
"phip1611",
10+
"IsaacWoods",
11+
# add yourself here
12+
]
13+
+++
14+
15+
Welcome to a new issue of _"This Month in Rust OSDev"_. In these posts, we give a regular overview of notable changes in the Rust operating system development ecosystem.
16+
17+
<!-- more -->
18+
19+
This series is openly developed [on GitHub](https://github.com/rust-osdev/homepage/). Feel free to open pull requests there with content you would like to see in the next issue. If you find some issues on this page, please report them by [creating an issue](https://github.com/rust-osdev/homepage/issues/new) or using our [_comment form_](#comment-form) at the bottom of this page.
20+
21+
<!--
22+
This is a draft for the upcoming "This Month in Rust OSDev (October 2021)" post.
23+
Feel free to create pull requests against the `next` branch to add your
24+
content here.
25+
Please take a look at the past posts on https://rust-osdev.com/ to see the
26+
general structure of these posts.
27+
-->
28+
29+
## Project Updates
30+
31+
In this section, we give an overview of notable changes to the projects hosted under the [`rust-osdev`] organization.
32+
33+
[`rust-osdev`]: https://github.com/rust-osdev/about
34+
35+
### [`uefi-rs`](https://github.com/rust-osdev/uefi-rs)
36+
37+
The `uefi` crate provides safe and performant wrappers for [UEFI](https://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface), the successor to the BIOS.
38+
39+
We merged the following PRs this month:
40+
41+
- [Implement missing Event-related functions](https://github.com/rust-osdev/uefi-rs/pull/293)
42+
- [Remove attribute to enable `const_panic`](https://github.com/rust-osdev/uefi-rs/pull/296)
43+
- [Use build-std-features instead of rlibc](https://github.com/rust-osdev/uefi-rs/pull/298)
44+
- [Update `set_virtual_address_map()` to allow remapping of `SystemTable`](https://github.com/rust-osdev/uefi-rs/pull/301)
45+
- [Fix new clippy errors](https://github.com/rust-osdev/uefi-rs/pull/304)
46+
47+
Thanks to [@timrobertsdev](https://github.com/timrobertsdev), [@YtvwlD](https://github.com/YtvwlD), and [@foxcob](https://github.com/foxcob) for their contributions!
48+
49+
### [`acpi`](https://github.com/rust-osdev/acpi)
50+
51+
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.
52+
53+
This month, [support for the Boot Graphics Resource Table (BGRT)](https://github.com/rust-osdev/acpi/pull/113) table was added to `acpi`. This static table is
54+
passed from firmware to the OS to communicate information about the state of the screen when control is passed
55+
over, as lots of firmwares like to print display a logo when booting. <span class="gray">(published as `acpi v4.1.0`)</span>
56+
57+
Thanks to [@ethindp](https://github.com/ethindp) for this contribution!
58+
59+
### [`x86_64`](https://github.com/rust-osdev/x86_64)
60+
61+
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.
62+
63+
In October, we merged the following changes:
64+
65+
- [Enable manipulation of `InterruptStackFrame`](https://github.com/rust-osdev/x86_64/pull/312)
66+
- [Fix docs for `page_table_index`](https://github.com/rust-osdev/x86_64/pull/318)
67+
68+
Thanks to [@haraldh](https://github.com/haraldh) and [@Freax13](https://github.com/Freax13) for their contributions!
69+
70+
### [`multiboot2-header`](https://github.com/rust-osdev/multiboot2) (**new**)
71+
72+
The `multiboot2-header` crate provides abstraction types for Multiboot2 headers,
73+
parsing utilities, and a builder to construct such headers. The initial release took
74+
place in early October and now is ready to be used. Because lots of code was published
75+
without any in-depth reviews, further testing and code reviews will be highly appreciated.
76+
77+
## Call for Participation
78+
79+
Want to contribute to a Rust OSDev project, but don't know where to start? Pick up one of these outstanding
80+
issues in one of our projects and get started!
81+
82+
<!--
83+
Please use the following template for adding items:
84+
- [(`repo_name`) Issue Description](https://example.com/link-to-issue)
85+
-->
86+
87+
<span class="gray">
88+
89+
_No tasks were proposed for this section._
90+
91+
</span>
92+
93+
If you maintain a Rust project related to operating system development and are looking for contributors, especially for tasks suited to people getting started in this space, please [create a PR](https://github.com/rust-osdev/homepage/pulls) against the `next` branch with the tasks you want to include in the next issue.
94+
95+
## Personal Projects
96+
97+
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.
98+
99+
### [`phil-opp/blog_os`](https://github.com/phil-opp/blog_os)
100+
101+
<span class="gray">(Section written by [@phil-opp](https://github.com/phil-opp))</span>
102+
103+
We merged the following changes to the [_Writing an OS in Rust_](https://os.phil-opp.com/) blog this month:
104+
105+
- [Add French translation for the first post](https://github.com/phil-opp/blog_os/pull/1053)
106+
- Thanks to [@Alekzus](https://github.com/Alekzus) for this contribution, and [@dallenng](https://github.com/dallenng) and [@CBenoit](https://github.com/CBenoit) for reviewing!
107+
- Published at <https://os.phil-opp.com/fr/>.
108+
- [Improve our integration of the giscus comment system](https://github.com/phil-opp/blog_os/pull/1054)
109+
- [Use Iosevka font for code blocks and inline code](https://github.com/phil-opp/blog_os/pull/1056)
110+
- [Initial Dark Mode Support](https://github.com/phil-opp/blog_os/pull/1057) 🌑
111+
- [Implement a switch for switching between light and dark mode](https://github.com/phil-opp/blog_os/pull/1058)
112+
- [Remember chosen theme in `localStorage`, add a switch for going back to system theme, improve layout](https://github.com/phil-opp/blog_os/pull/1059)
113+
- [Use `crate-ci/typos` action to check for typos](https://github.com/phil-opp/blog_os/pull/1060)
114+
115+
## Join Us?
116+
117+
Are you interested in Rust-based operating system development? Our `rust-osdev` organization is always open to new members and new projects. Just let us know if you want to join! A good way for getting in touch is our [gitter channel](https://gitter.im/rust-osdev/Lobby).

0 commit comments

Comments
 (0)