#x86-64 #no-std #aarch64

no-std memory_addresses

Unified virtual and physical address types for the Hermit ecosystem and beyond

7 releases

new 0.2.4 Jan 23, 2026
0.2.3 May 8, 2025
0.2.2 Nov 15, 2024
0.2.0 Oct 31, 2024
0.1.1 Oct 29, 2024

#104 in Operating systems

Download history 874/week @ 2025-10-03 1212/week @ 2025-10-10 2406/week @ 2025-10-17 2068/week @ 2025-10-24 2331/week @ 2025-10-31 689/week @ 2025-11-07 1235/week @ 2025-11-14 866/week @ 2025-11-21 2310/week @ 2025-11-28 1629/week @ 2025-12-05 574/week @ 2025-12-12 979/week @ 2025-12-19 1576/week @ 2025-12-26 1909/week @ 2026-01-02 569/week @ 2026-01-09 671/week @ 2026-01-16

4,816 downloads per month
Used in 4 crates

MIT/Apache

72KB
1.5K SLoC

Memory Addresses

This crate provides unified address types for multiple architectures. This is part of the Hermit ecosystem but is designed to be used in any other bare-metal context as well!

Features

Name Description
x86_64 Enables x86_64 specific addresses (default)
aarch64 Enables aarch64 specific addresses (default)
riscv64 Enables riscv64 specific addresses (default)
conversions Enables all of the following conversion functionalities
conv-x86_64 Convert x86_64::PhysAddr/x86_64::VirtAddr to x86_64::PhysAddr/x86_64::VirtAddr using into()
conv-x86 Convert x86_64::PhysAddr/x86_64::VirtAddr to x86's 64-bit PAddr/VAddr using into()

Acknowledgement

This crate is based on work of the x86_64 crate. An attempt was made to preserve the relevant commits with authorship and the apparently most active contributors of the original work are:

  • Philipp Oppermann
  • Gerd Zellweger
  • Tom Dohrmann
  • John Ericson
  • Joe Richey
  • Mara Bos
  • Tobba
  • Joseph Richey
  • Dan Schatzberg

Dependencies

~0.6–1.2MB
~15K SLoC