1.7 KiB
1.7 KiB
Changelog
0.3.0
Breaking changes
- Made
Translationtrait 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. - Renamed
AddressRangeErrortoMapError, which is now an enum with three variants and implementsDisplay. From<*const T>andFrom<*mut T>are no longer implemented forVirtualAddress.- Added support for using TTBR1 as well as TTBR0; this changes various constructors to take an extra parameter.
New features
- Made
allocdependency optional via a feature flag. - Added support for linear mappings with new
LinearMap. - Implemented subtraction of usize from address types.
Bugfixes
- Fixed memory leak introduced in 0.2.0: dropping a page table will now actually free its memory.
0.2.1
New features
- Implemented
DebugandDisplayforMemoryRegion. - Implemented
From<Range<VirtualAddress>>forMemoryRegion. - Implemented arithmetic operations for
PhysicalAddressandVirtualAddress.
0.2.0
Breaking changes
- Added bounds check to
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.
New features
- Implemented
DebugforPhysicalAddressandVirtualAddress. - Validate that chosen root level is supported.
Bugfixes
- Fixed bug in
DisplayandDropimplementation forRootTablethat would result in a crash for any pagetable with non-zero mappings. - Fixed
Displayimplementation forPhysicalAddressandVirtualAddressto use correct number of digits.
0.1.0
Initial release.