|
1 | 1 | # Unreleased
|
2 | 2 |
|
| 3 | +# 0.14.4 – 2021-07-19 |
| 4 | + |
| 5 | +- Add `instructions::tables::sgdt` ([#279](https://github.com/rust-osdev/x86_64/pull/279)) |
| 6 | +- Improve control register bits ([#273](https://github.com/rust-osdev/x86_64/pull/273)) |
| 7 | + - Add `Cr0` bits: `EXTENSION_TYPE` (ET) |
| 8 | + - Add `Cr4` bits: |
| 9 | + - `KEY_LOCKER` (KL) |
| 10 | + - `CONTROL_FLOW_ENFORCEMENT` (CET) |
| 11 | + - `PROTECTION_KEY_SUPERVISOR` (PKS) |
| 12 | + - Add `XCr0` bits: `BNDREG`, `BNDCSR`, `OPMASK`, `ZMM_HI256`, `HI16_ZMM` |
| 13 | + - Add consistency checks for `XCr0` bits |
| 14 | +- Add `SelectorErrorCode` for parsing interrupt error codes from `#TS`, `#NP`, `#SS`, and `#GP` ([#274](https://github.com/rust-osdev/x86_64/pull/274)) |
| 15 | +- Make `addr::{align_up, align_down}` const ([#270](https://github.com/rust-osdev/x86_64/pull/270)) |
| 16 | +- Make `structures::idt` available on stable Rust ([#271](https://github.com/rust-osdev/x86_64/pull/271)) |
| 17 | + - Use dummy types for the `HandlerFunc`s if the `"abi_x86_interrupt"` feature is disabled |
| 18 | + - Add unsafe `set_handler_addr` that just takes a `VirtAddr` |
| 19 | +- Add common abstractions for x86 Segments ([#258](https://github.com/rust-osdev/x86_64/pull/258)) |
| 20 | + - Add `SS`, `CS`, `DS`, `ES`, `FS`, `GS` marker types |
| 21 | + - Add `Segment` trait for reading/writing the segment register |
| 22 | + - Add `Segment64` trait for reading/writing the segment base |
| 23 | + - Add `GS::swap()` |
| 24 | + - Deprecate the corresponding free functions: |
| 25 | + - `cs`, `set_cs` |
| 26 | + - `swap_gs` |
| 27 | + - `load_{ss,ds,es,fs,gs}` |
| 28 | + - `{wr,rd}{fs,gs}base` |
| 29 | +- Bug fixes: |
| 30 | + - Corrected documentation typo ([#278](https://github.com/rust-osdev/x86_64/pull/278)) |
| 31 | + - Avoided off-by-one error in `GlobalDescriptorTable::from_raw_slice` when `"const_fn"` is not enabled ([#269](https://github.com/rust-osdev/x86_64/pull/269)) |
| 32 | + - Specify `sysv64` as the calling convention for the `"external_asm"` functions ([#267](https://github.com/rust-osdev/x86_64/pull/267)) |
| 33 | + |
3 | 34 | # 0.14.3 – 2021-05-14
|
4 | 35 |
|
5 | 36 | - Make the following types aliases of the new `PortGeneric` type ([#248](https://github.com/rust-osdev/x86_64/pull/248)):
|
6 | 37 | - `Port<T> = PortGeneric<T, ReadWriteAccess>`
|
7 | 38 | - `PortReadOnly<T> = PortGeneric<T, ReadOnlyAccess>`
|
8 | 39 | - `PortWriteOnly<T> = PortGeneric<T, WriteOnlyAccess>`
|
9 |
| -- The following methods no longer require the `nightly` feature to be `const fn`s` ([#255](https://github.com/rust-osdev/x86_64/pull/255)): |
| 40 | +- The following methods no longer require the `nightly` feature to be `const fn`s ([#255](https://github.com/rust-osdev/x86_64/pull/255)): |
10 | 41 | - `PageTable::new`
|
11 | 42 | - `GlobalDescriptorTable::from_raw_slice`
|
12 | 43 | - `MappedFrame::{start_address, size}`
|
|
0 commit comments