Trait page_table::MmuMeta
source · [−]pub trait MmuMeta: Copy {
Show 13 associated constants and 13 methods
const P_ADDR_BITS: usize;
const V_ADDR_BITS: usize;
const PPN_BASE: usize;
const FLAG_POS_V: usize;
const FLAG_POS_R: usize;
const FLAG_POS_W: usize;
const FLAG_POS_X: usize;
const FLAG_POS_U: usize;
const FLAG_POS_G: usize;
const FLAG_POS_A: usize;
const FLAG_POS_D: usize;
const PPN_MASK: usize = _;
const MAX_LEVEL: usize = _;
fn is_leaf(value: usize) -> bool;
fn is_huge(value: usize, level: usize) -> bool { ... }
fn is_valid(value: usize) -> bool { ... }
fn is_readable(value: usize) -> bool { ... }
fn is_writable(value: usize) -> bool { ... }
fn is_executable(value: usize) -> bool { ... }
fn is_user(value: usize) -> bool { ... }
fn is_global(value: usize) -> bool { ... }
fn is_accessed(value: usize) -> bool { ... }
fn is_dirty(value: usize) -> bool { ... }
fn ppn(value: usize) -> PPN { ... }
fn set_ppn(value: &mut usize, ppn: PPN) { ... }
fn clear_ppn(value: &mut usize) { ... }
}Expand description
分页元数据。
Required Associated Constants
const P_ADDR_BITS: usize
const P_ADDR_BITS: usize
物理地址位数,用于计算物理页号形式。
const V_ADDR_BITS: usize
const V_ADDR_BITS: usize
虚拟页号位数,用于裁剪或扩展正确的虚址。
const FLAG_POS_V: usize
const FLAG_POS_R: usize
const FLAG_POS_W: usize
const FLAG_POS_X: usize
const FLAG_POS_U: usize
const FLAG_POS_G: usize
const FLAG_POS_A: usize
const FLAG_POS_D: usize
Provided Associated Constants
Required Methods
Provided Methods
fn is_readable(value: usize) -> bool
fn is_readable(value: usize) -> bool
判断页表项是否可读。
fn is_writable(value: usize) -> bool
fn is_writable(value: usize) -> bool
判断页表项是否可写。
fn is_executable(value: usize) -> bool
fn is_executable(value: usize) -> bool
判断页表项是否可执行。
fn is_accessed(value: usize) -> bool
fn is_accessed(value: usize) -> bool
判断页表项是否访问过。