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
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. We merged the following changes this month:
38
+
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.
39
39
40
-
-[Use new const_fn_trait_bound feature to fix build on latest nightly](https://github.com/rust-osdev/x86_64/pull/250) <spanclass="gray">(published as `v0.14.1`)</span>
40
+
In May, we merged the following changes:
41
+
42
+
-[Use new `const_fn_trait_bound` feature to fix build on latest nightly](https://github.com/rust-osdev/x86_64/pull/250) <spanclass="gray">(published as `v0.14.1`)</span>
41
43
-[Multiple improvements to the inline assembly code](https://github.com/rust-osdev/x86_64/pull/251) <spanclass="gray">(published as `v0.14.2`)</span>
@@ -46,8 +48,8 @@ The `x86_64` crate provides various abstractions for `x86_64` systems, including
46
48
47
49
We also started to [prepare a `v0.15` release](https://github.com/rust-osdev/x86_64/issues/262), for which we already implemented the following breaking changes:
48
50
49
-
-[Replace software_interrupt! macro with generic function](https://github.com/rust-osdev/x86_64/pull/259)
-[Fix typo in docs](https://github.com/rust-osdev/x86_64/pull/265)
52
54
-[idt: Fixup Options structure and cleanup `set_handler_fn`](https://github.com/rust-osdev/x86_64/pull/226) (resubmitted in [#261](https://github.com/rust-osdev/x86_64/pull/261))
53
55
-[Use SegmentSelector in InterruptStackFrame](https://github.com/rust-osdev/x86_64/pull/263)
@@ -58,7 +60,7 @@ Thanks to [@dbeckwith](https://github.com/dbeckwith) and [@Freax13](https://gith
58
60
59
61
The `bootloader` crate implements a custom Rust-based bootloader for easy loading of 64-bit ELF executables. This month, we merged the following changes:
60
62
61
-
-[Change register used in setting SS in stage_4](https://github.com/rust-osdev/bootloader/pull/156) <spanclass="gray">(published as `v0.10.3`)</span>
63
+
-[Change register used in setting `SS` in `stage_4`](https://github.com/rust-osdev/bootloader/pull/156) <spanclass="gray">(published as `v0.10.3`)</span>
62
64
-[Fix build on latest Rust nightly by updating to `uefi` v0.9.0](https://github.com/rust-osdev/bootloader/pull/162)
63
65
-[Fix higher half kernels by identity mapping context switch fn earlier](https://github.com/rust-osdev/bootloader/pull/161) <spanclass="gray">(published as `v0.10.4`)</span>
64
66
-[Make bootloader v0.10 compatible with latest Rust nightlies by updating uefi-rs dependency](https://github.com/rust-osdev/bootloader/pull/170) <spanclass="gray">(published as `v0.10.5`)</span>
@@ -71,7 +73,7 @@ Thanks to [@Elekrisk](https://github.com/Elekrisk) for their contribution!
71
73
72
74
We also published the following backport to `v0.9`:
73
75
74
-
-[Fix nightly regression by manually passing --gc-sections](https://github.com/rust-osdev/bootloader/pull/168) <spanclass="gray">(published as `v0.9.18`)</span>
76
+
-[Fix nightly regression by manually passing `--gc-sections`](https://github.com/rust-osdev/bootloader/pull/168) <spanclass="gray">(published as `v0.9.18`)</span>
The [`pic_8259`] crate provides abstractions for 8259 and 8259A Programmable Interrupt Controllers (PICs). It is a new fork of the [`pic8259_simple`](https://github.com/emk/toyos-rs/tree/master/crates/pic8259_simple) crate, which appears to be no longer maintained. We merged the following changes on top of the original `pic8259_simple` crate:
101
+
The `pic_8259` crate provides abstractions for 8259 and 8259A Programmable Interrupt Controllers (PICs). It is a new fork of the [`pic8259_simple`](https://github.com/emk/toyos-rs/tree/master/crates/pic8259_simple) crate, which appears to be no longer maintained.
102
+
103
+
We merged the following changes on top of the original `pic8259_simple` crate:
-[cpuio: Use new feature flag for const functions](https://github.com/emk/toyos-rs/pull/9)
@@ -105,12 +109,6 @@ The [`pic_8259`] crate provides abstractions for 8259 and 8259A Programmable Int
105
109
106
110
Thanks to [@mkroening](https://github.com/mkroening) and [@hanmertens](https://github.com/hanmertens) for their contributions!
107
111
108
-
### [`xhci`](https://github.com/rust-osdev/xhci)
109
-
110
-
The `xhci` crate provides types of xHCI structures such as Contexts, Extended Capabilities, Registers, and TRBs.
111
-
112
-
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!
113
-
114
112
### [`acpi`](https://github.com/rust-osdev/acpi)
115
113
116
114
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.
@@ -126,6 +124,12 @@ latest version. <span class="gray">(published as `v0.13.0`)</span>
126
124
127
125
Thanks to [@michaelmelanson](https://github.com/michaelmelanson) for his contribution!
128
126
127
+
### [`xhci`](https://github.com/rust-osdev/xhci)
128
+
129
+
The `xhci` crate provides types of xHCI structures such as Contexts, Extended Capabilities, Registers, and TRBs.
130
+
131
+
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!
The `spinning_top` crate provides a simple spinlock implementation based on the abstractions of the [`lock_api`](https://docs.rs/lock_api/0.4.1/lock_api/) crate. This month, we released version `v0.2.4` with the following small improvements:
0 commit comments