RootTable
, Mapping
, IdMap
and LinearMap
are now correctly marked as Send
, as it doesn't matter where they are used from.bitflags
to 2.0.2, which changes the API of Attributes
a bit.map_range
method to support mapping leaf page table entries without the VALID
flag. Attributes::VALID
is no longer implicitly set when mapping leaf page table entries.modify_range
method to IdMap
, LinearMap
and Mapping
to update details of a mapped range. This can be used e.g. to change flags for some range which is already mapped. As part of this, the Descriptor
struct was added to the public API.DBM
and software flags to Attributes
.Translation
trait responsible for allocating page tables. This should help make it possible to use more complex mapping schemes, and to construct page tables in a different context to where they are used.AddressRangeError
to MapError
, which is now an enum with three variants and implements Display
.From<*const T>
and From<*mut T>
are no longer implemented for VirtualAddress
.alloc
dependency optional via a feature flag.LinearMap
.Debug
and Display
for MemoryRegion
.From<Range<VirtualAddress>>
for MemoryRegion
.PhysicalAddress
and VirtualAddress
.IdMap::map_range
; it will now return an error if you attempt to map a virtual address outside the range of the page table given its configured root level.Debug
for PhysicalAddress
and VirtualAddress
.Display
and Drop
implementation for RootTable
that would result in a crash for any pagetable with non-zero mappings.Display
implementation for PhysicalAddress
and VirtualAddress
to use correct number of digits.Initial release.