Module mm

Module mm 

Source
Expand description

RISC-V 架构内存管理模块

此模块提供了针对 RISC-V 架构 的内存管理实现, 使用 SV39 分页方案 (SV39 Paging Scheme)

§SV39 分页方案

SV39 是 RISC-V 上的一个 39 位虚拟地址分页方案:

  • 虚拟地址 (Virtual address): 39 个有效位 (位 38-63 必须与位 38 匹配)
  • 物理地址 (Physical address): 56 位 (位 0-55)
  • 页大小 (Page size): 4 KiB

§地址转换

此模块使用直接映射 (direct mapping) 进行地址转换:

  • 虚拟地址起始点 (Virtual address start): 0xffff_ffc0_0000_0000
  • 提取物理地址 使用与 PADDR_MASK 进行位与 (bitwise AND) 操作
  • 创建虚拟地址 使用与 VADDR_START 进行位或 (bitwise OR) 操作

Re-exports§

pub use page_table::PageTableInner;
pub use page_table_entry::PageTableEntry;

Modules§

page_table 🔒
page_table_entry 🔒

Constants§

PADDR_MASK
物理地址掩码,用于从虚拟地址中提取物理地址
VADDR_START
SV39 中虚拟地址空间的起始地址

Functions§

paddr_to_vaddr
转换物理地址到虚拟地址
vaddr_to_paddr
转换虚拟地址到物理地址