Skip to content

Commit 3ad8e95

Browse files
committed
Add updates for x86_64 crate
1 parent 29ba41a commit 3ad8e95

File tree

1 file changed

+51
-1
lines changed

1 file changed

+51
-1
lines changed

content/this-month/2022-03/index.md

Lines changed: 51 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ month = "March 2022"
77
authors = [
88
"phil-opp",
99
"GabrielMajeri",
10+
"josephlr",
1011
# add yourself here
1112
]
1213
+++
@@ -37,7 +38,56 @@ In this section, we give an overview of notable changes to the projects hosted u
3738

3839
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.
3940

40-
In March, …
41+
This month, we released version **`0.14.9`** of the `x86_64` crate with lots of improvements:
42+
43+
#### New Features
44+
45+
- [Add `UCet` and `SCet` registers](https://github.com/rust-osdev/x86_64/pull/349)
46+
- [Specific MSRV now noted in `README`](https://github.com/rust-osdev/x86_64/pull/355)
47+
- Use [`rustversion`](https://crates.io/crates/rustversion) to [mark certain functions `const fn` on Rust 1.61](https://github.com/rust-osdev/x86_64/pull/353)
48+
- [`Entry::handler_addr()` is now public](https://github.com/rust-osdev/x86_64/pull/354)
49+
- [Increase packed structure alignment](https://github.com/rust-osdev/x86_64/pull/362)
50+
- [Make more address methods `const fn`](https://github.com/rust-osdev/x86_64/pull/369)
51+
- `VirtAddr::as_ptr()`
52+
- `VirtAddr::as_mut_ptr()`
53+
- `PhysAddr::new()`
54+
- `PhysAddr::try_new()`
55+
56+
_Already merged last month:_
57+
58+
- [Remove all uses of external assembly](https://github.com/rust-osdev/x86_64/pull/343)
59+
- `external_asm` and `inline_asm` features are deprecated and now have no effect.
60+
- `instructions` feature (on by default) now requires Rust 1.59
61+
- [Implement `core::iter::Step` for `VirtAddr` and `Page`](https://github.com/rust-osdev/x86_64/pull/342)
62+
- This trait is only available on nightly.
63+
- Gated behind `step_trait` feature flag
64+
- [Address in `VirtAddrNotValid` and `PhysAddrNotValid` is now public](https://github.com/rust-osdev/x86_64/pull/340)
65+
- [This field now contains the whole invalid address](https://github.com/rust-osdev/x86_64/pull/347)
66+
67+
#### Bug fixes and Documentation
68+
69+
- [Fixed overflow bug in `PageRangeInclusive`](https://github.com/rust-osdev/x86_64/pull/351)
70+
- [Remove stabilized `const_fn_fn_ptr_basics` and `const_fn_trait_bound` features](https://github.com/rust-osdev/x86_64/pull/352)
71+
- [Don't set `nomem` in `load_tss`](https://github.com/rust-osdev/x86_64/pull/358)
72+
- [Correctly initialize TSS's IOPB to be empty](https://github.com/rust-osdev/x86_64/pull/357)
73+
- [Improve `GlobalDescriptorTable::add_entry` error handling](https://github.com/rust-osdev/x86_64/pull/361))
74+
- [Update `tss_segment` documentation](https://github.com/rust-osdev/x86_64/pull/366))
75+
76+
Thanks to [@jarkkojs](https://github.com/jarkkojs), [@drzewiec](https://github.com/drzewiec), and [@kevinaboos](https://github.com/kevinaboos) for contributing to this release!
77+
78+
#### v0.15
79+
80+
We also merged some breaking changes which will be published in the upcoming `v0.15` release:
81+
82+
- [Allow the GDT to be of any length](https://github.com/rust-osdev/x86_64/pull/360)
83+
- [gdt: Check that MAX is in range](https://github.com/rust-osdev/x86_64/pull/365)
84+
- [`VirtAddr` improvements](https://github.com/rust-osdev/x86_64/pull/370)
85+
- [Remove `software_interrupt!` macro](https://github.com/rust-osdev/x86_64/pull/363)
86+
- [Remove usize trait impls](https://github.com/rust-osdev/x86_64/pull/364)
87+
- [Remove deprecated functions/flags](https://github.com/rust-osdev/x86_64/pull/368)
88+
- [Update "next" MSRV to 1.59](https://github.com/rust-osdev/x86_64/pull/359)
89+
90+
Special thanks to our co-maintainer [@josephlr](https://github.com/josephlr), who did a lot of great work this month!
4191

4292
### [`uefi-rs`](https://github.com/rust-osdev/uefi-rs)
4393

0 commit comments

Comments
 (0)