Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release version v0.13.0 #223

merged 32 commits into from Dec 28, 2020

Release version v0.13.0 #223

merged 32 commits into from Dec 28, 2020


Copy link


  • Breaking: Also return flags for MapperAllSizes::translate() (#207)
  • Breaking: Restructure the TranslateResult type and create separate Translate trait (#211)
  • Breaking: Rename PhysToVirt trait to PageTableFrameMapping (#214)
  • Breaking: Use custom error types instead of () (#199)
  • Breaking: Remove deprecated items
    • UnusedPhysFrame
    • ExceptionStackFrame
    • VirtAddr::new_unchecked
    • interrupts::enable_interrupts_and_hlt
  • Breaking: Make DescriptorTablePointer::base a VirtAddr (#215)
  • Breaking: Change return type of read_rip to VirtAddr (#216)
  • Breaking: Make writing the RFLAGS register unsafe (#219)
  • Breaking: Remove PortReadWrite trait, which is no longer needed (#217)
  • Relaxe Sized requirement for FrameAllocator in Mapper::map_to (204)

haraldh and others added 30 commits December 28, 2020 10:52
Extend `TranslateResult` returned by `MapperAllSizes::translate()` with
the page flags. This way, there is a method to get the flags for the
page of a `VirtAddr`.
This makes it possible to use the method with trait objects.

Resolves rust-osdev/acpi#78
Relaxe `Sized` requirement for `FrameAllocator` in `Mapper::map_to`
This fixes the clippy warnings we currently see on CI.

Since this changes the signature of public functions, this is a **breaking change**. However, I don't expect that much code is broken by this.
Use custom error types instead of `()`
Restructure the `TranslateResult` type and create separate `Translate` trait
The new trait and method names better describe their purpose. Since the implementer must make sure that the returned pointer is valid and accessible, the trait is now unsafe to implement. Because of this requirement we also need to remove the generic implementation of this trait for closures.
Makes it clear that segmentation is applied before paging.
Rename `PhysToVirt` trait to `PageTableFrameMapping`
Make `DescriptorTablePointer::base` a `VirtAddr`
Change return type of `read_rip` to `VirtAddr`
Remove `PortReadWrite` trait, which is no longer needed
Make writing the RFLAGS register unsafe
The `cargo publish` happens after the version bump PR is merged, so we need to create the tag for the merge commit.
Makes it more clear that this commit only includes the version bump. The `cargo publish` might happen on a later commit, e.g. a merge commit.
@phil-opp phil-opp merged commit 8a54bca into master Dec 28, 2020
Copy link
Member Author

phil-opp commented Dec 28, 2020

TODO after merge:

  • cargo publish
  • create release tag

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
None yet

Successfully merging this pull request may close these issues.

None yet

2 participants