pub enum TranslateError {
Address,
Tlb(TlbFault),
}Expand description
Why a translation failed.
Two variants rather than one because they raise different exceptions from different vectors: an address error goes to the general handler, a TLB fault to the refill vector. Collapsing them would send a user program that touched a kernel address to the refill handler, where a well-behaved kernel maps the page and grants the access it was never allowed to make.
Variants§
Address
The address is not valid in this privilege mode: AdEL/AdES.
Tlb(TlbFault)
The address is valid but the TLB could not resolve it.
Trait Implementations§
Source§impl Clone for TranslateError
impl Clone for TranslateError
Source§fn clone(&self) -> TranslateError
fn clone(&self) -> TranslateError
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for TranslateError
impl Debug for TranslateError
Source§impl<'de> Deserialize<'de> for TranslateError
impl<'de> Deserialize<'de> for TranslateError
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for TranslateError
impl PartialEq for TranslateError
Source§impl Serialize for TranslateError
impl Serialize for TranslateError
impl Copy for TranslateError
impl Eq for TranslateError
impl StructuralPartialEq for TranslateError
Auto Trait Implementations§
impl Freeze for TranslateError
impl RefUnwindSafe for TranslateError
impl Send for TranslateError
impl Sync for TranslateError
impl Unpin for TranslateError
impl UnsafeUnpin for TranslateError
impl UnwindSafe for TranslateError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more