Skip to content

Commit f8f0aca

Browse files
committed
Merge PR #60 into next
2 parents a5c6a38 + ab04fcc commit f8f0aca

File tree

1 file changed

+18
-5
lines changed

1 file changed

+18
-5
lines changed

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

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ month = "May 2021"
77
authors = [
88
"phil-opp",
99
"GabrielMajeri",
10+
"IsaacWoods",
1011
"toku-sa-n",
1112
# add yourself here
1213
]
@@ -55,6 +56,21 @@ The `xhci` crate provides types of xHCI structures such as Contexts, Extended Ca
5556

5657
In May we finished implementing all of these structures and field getters/setters. Still there may exist missings. If you find one, feel free to send a PR!
5758

59+
### [`acpi`](https://github.com/rust-osdev/acpi)
60+
61+
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.
62+
63+
This month was fairly quiet, but an important regression was fixed. When native methods were introduced in March,
64+
`AmlContext` lost its `Send + Sync`, as these native methods weren't required to be thread-safe. This meant that
65+
`AmlContext` could no longer be stored in types such as `spin::Once`, or shared between threads/tasks. This is
66+
undesirable for `AmlContext`, as it is very expensive to construct, and AML does (in theory) provide mechanisms to
67+
make itself thread-safe, so any probject should only need one.
68+
69+
This was fixed by requiring native methods to be `Send + Sync`. If you're hitting this issue, please upgrade to the
70+
latest version. <span class="gray">(published as `v0.13.0`)</span>
71+
72+
Thanks to [@michaelmelanson](https://github.com/michaelmelanson) for his contribution!
73+
5874
## Call for Participation
5975

6076
Want to contribute to a Rust OSDev project, but don't know where to start? Pick up one of these outstanding
@@ -65,11 +81,8 @@ Please use the following template for adding items:
6581
- [(`repo_name`) Issue Description](https://example.com/link-to-issue)
6682
-->
6783

68-
<span class="gray">
69-
70-
_No tasks were proposed for this section._
71-
72-
</span>
84+
- [(`acpi`) Add initial support for `DefExternal` opcodes](https://github.com/rust-osdev/acpi/issues/96)
85+
- [(`acpi`) Add test to make sure `AmlContext` remains `Send + Sync`](https://github.com/rust-osdev/acpi/issues/98)
7386

7487
If you maintain a Rust OSDev project and are looking for contributors, especially for tasks suited to people
7588
getting started in this space, please [create a PR](https://github.com/rust-osdev/homepage/pulls) against the

0 commit comments

Comments
 (0)