Skip to content

Commit ab04fcc

Browse files
committed
Add May 2021 updates for acpi
1 parent 3dcfe33 commit ab04fcc

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
@@ -6,6 +6,7 @@ date = 0000-01-01
66
month = "May 2021"
77
authors = [
88
"phil-opp",
9+
"IsaacWoods",
910
# add yourself here
1011
]
1112
+++
@@ -36,6 +37,21 @@ The `x86_64` crate provides various abstractions for `x86_64` systems, including
3637

3738
In May, …
3839

40+
### [`acpi`](https://github.com/rust-osdev/acpi)
41+
42+
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.
43+
44+
This month was fairly quiet, but an important regression was fixed. When native methods were introduced in March,
45+
`AmlContext` lost its `Send + Sync`, as these native methods weren't required to be thread-safe. This meant that
46+
`AmlContext` could no longer be stored in types such as `spin::Once`, or shared between threads/tasks. This is
47+
undesirable for `AmlContext`, as it is very expensive to construct, and AML does (in theory) provide mechanisms to
48+
make itself thread-safe, so any probject should only need one.
49+
50+
This was fixed by requiring native methods to be `Send + Sync`. If you're hitting this issue, please upgrade to the
51+
latest version. <span class="gray">(published as `v0.13.0`)</span>
52+
53+
Thanks to [@michaelmelanson](https://github.com/michaelmelanson) for his contribution!
54+
3955
## Call for Participation
4056

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

49-
<span class="gray">
50-
51-
_No tasks were proposed for this section._
52-
53-
</span>
65+
- [(`acpi`) Add initial support for `DefExternal` opcodes](https://github.com/rust-osdev/acpi/issues/96)
66+
- [(`acpi`) Add test to make sure `AmlContext` remains `Send + Sync`](https://github.com/rust-osdev/acpi/issues/98)
5467

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

0 commit comments

Comments
 (0)