You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/this-month/2021-05/index.md
+18-5Lines changed: 18 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,7 @@ date = 0000-01-01
6
6
month = "May 2021"
7
7
authors = [
8
8
"phil-opp",
9
+
"IsaacWoods",
9
10
# add yourself here
10
11
]
11
12
+++
@@ -36,6 +37,21 @@ The `x86_64` crate provides various abstractions for `x86_64` systems, including
36
37
37
38
In May, …
38
39
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. <spanclass="gray">(published as `v0.13.0`)</span>
52
+
53
+
Thanks to [@michaelmelanson](https://github.com/michaelmelanson) for his contribution!
54
+
39
55
## Call for Participation
40
56
41
57
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:
0 commit comments