pub trait PageTableEntry {
type Bits;
Show 15 methods
// Required methods
fn from_bits(bits: Self::Bits) -> Self;
fn to_bits(&self) -> Self::Bits;
fn empty() -> Self;
fn new_leaf(ppn: Ppn, flags: UniversalPTEFlag) -> Self;
fn new_table(ppn: Ppn) -> Self;
fn is_valid(&self) -> bool;
fn is_huge(&self) -> bool;
fn is_empty(&self) -> bool;
fn ppn(&self) -> Ppn;
fn flags(&self) -> UniversalPTEFlag;
fn set_ppn(&mut self, ppn: Ppn);
fn set_flags(&mut self, flags: UniversalPTEFlag);
fn clear(&mut self);
fn remove_flags(&mut self, flags: UniversalPTEFlag);
fn add_flags(&mut self, flags: UniversalPTEFlag);
}Expand description
页表项(Page Table Entry, PTE)所需实现的核心接口
Required Associated Types§
Required Methods§
Sourcefn new_leaf(ppn: Ppn, flags: UniversalPTEFlag) -> Self
fn new_leaf(ppn: Ppn, flags: UniversalPTEFlag) -> Self
创建一个新的叶节点(普通页映射)
Sourcefn flags(&self) -> UniversalPTEFlag
fn flags(&self) -> UniversalPTEFlag
获取页表项的通用标志
Sourcefn set_flags(&mut self, flags: UniversalPTEFlag)
fn set_flags(&mut self, flags: UniversalPTEFlag)
设置页表项的标志
Sourcefn remove_flags(&mut self, flags: UniversalPTEFlag)
fn remove_flags(&mut self, flags: UniversalPTEFlag)
移除指定的标志
Sourcefn add_flags(&mut self, flags: UniversalPTEFlag)
fn add_flags(&mut self, flags: UniversalPTEFlag)
添加指定的标志
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.