pub enum HyperlightExit {
Halt(),
IoOut(u16, Vec<u8>, u64, u64),
Mmio(u64),
AccessViolation(u64, MemoryRegionFlags, MemoryRegionFlags),
Cancelled(),
Unknown(String),
Retry(),
}
Expand description
These are the generic exit reasons that we can handle from a Hypervisor the Hypervisors run method is responsible for mapping from the hypervisor specific exit reasons to these generic ones
Variants§
Halt()
The vCPU has halted
IoOut(u16, Vec<u8>, u64, u64)
The vCPU has issued a write to the given port with the given value
Mmio(u64)
The vCPU has attempted to read or write from an unmapped address
AccessViolation(u64, MemoryRegionFlags, MemoryRegionFlags)
The vCPU tried to access memory but was missing the required permissions
Cancelled()
The vCPU execution has been cancelled
Unknown(String)
The vCPU has exited for a reason that is not handled by Hyperlight
Retry()
The operation should be retried, for example this can happen on Linux where a call to run the CPU can return EAGAIN
Auto Trait Implementations§
impl Freeze for HyperlightExit
impl RefUnwindSafe for HyperlightExit
impl Send for HyperlightExit
impl Sync for HyperlightExit
impl Unpin for HyperlightExit
impl UnwindSafe for HyperlightExit
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