pub trait PteOps {
// Required methods
fn get_addr_mask(&self) -> u64;
fn get_confidential_mask(&self) -> u64;
// Provided methods
fn build_pte(entry_type: PageTableEntryType) -> PageTableEntry { ... }
fn is_pte_present(pte: &PageTableEntry) -> bool { ... }
fn is_pte_large_page(pte: &PageTableEntry) -> bool { ... }
fn get_gpa_from_pte(&self, pte: &PageTableEntry) -> Option<u64> { ... }
fn get_addr_from_pte(&self, pte: &PageTableEntry) -> u64 { ... }
fn set_addr_in_pte(&self, pte: &mut PageTableEntry, address: u64) { ... }
fn set_pte_confidentiality(
&self,
pte: &mut PageTableEntry,
confidential: bool,
) { ... }
}
Required Methods§
fn get_addr_mask(&self) -> u64
fn get_confidential_mask(&self) -> u64
Provided Methods§
fn build_pte(entry_type: PageTableEntryType) -> PageTableEntry
fn is_pte_present(pte: &PageTableEntry) -> bool
fn is_pte_large_page(pte: &PageTableEntry) -> bool
fn get_gpa_from_pte(&self, pte: &PageTableEntry) -> Option<u64>
fn get_addr_from_pte(&self, pte: &PageTableEntry) -> u64
fn set_addr_in_pte(&self, pte: &mut PageTableEntry, address: u64)
fn set_pte_confidentiality(&self, pte: &mut PageTableEntry, confidential: bool)
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.