#[repr(u32)]pub enum VmEventReason {
Show 17 variants
Unknown,
MemoryAccess(VmEventMemAccess),
MemorySharing(VmEventSharing),
MemoryPaging(VmEventPaging),
WriteCtrlReg(VmEventWriteCtrlReg),
MovToMsr(VmEventMovToMsr),
SoftwareBreakpoint(VmEventDebug),
Singlestep(VmEventSinglestep),
GuestRequest,
DebugException(VmEventDebug),
Cpuid(VmEventCpuid),
PrivilegedCall,
Interrupt(VmEventInterrupt),
DescriptorAccess(VmEventDescriptorAccess),
EmulUnimplemented,
VmExit(VmEventVmExit),
IoInstruction(VmEventIo),
}
Variants§
Unknown
Default case
MemoryAccess(VmEventMemAccess)
Memory access violation
MemorySharing(VmEventSharing)
Memory sharing event
MemoryPaging(VmEventPaging)
Memory paging event
WriteCtrlReg(VmEventWriteCtrlReg)
A control register was updated
MovToMsr(VmEventMovToMsr)
An MSR was updated.
SoftwareBreakpoint(VmEventDebug)
Debug operation executed (e.g. int3)
Singlestep(VmEventSinglestep)
Single-step (e.g. MTF)
GuestRequest
An event has been requested via HVMOP_guest_request_vm_event.
DebugException(VmEventDebug)
A debug exception was caught
Cpuid(VmEventCpuid)
CPUID executed
PrivilegedCall
Privileged call executed (e.g. SMC). Note: event may be generated even if SMC condition check fails on some CPUs. As this behavior is CPU-specific, users are advised to not rely on it. These kinds of events will be filtered out in future versions.
Interrupt(VmEventInterrupt)
An interrupt has been delivered.
DescriptorAccess(VmEventDescriptorAccess)
A descriptor table register was accessed.
EmulUnimplemented
Current instruction is not implemented by the emulator
VmExit(VmEventVmExit)
VMEXIT
IoInstruction(VmEventIo)
IN/OUT Instruction executed
Trait Implementations§
Auto Trait Implementations§
impl Freeze for VmEventReason
impl RefUnwindSafe for VmEventReason
impl Send for VmEventReason
impl Sync for VmEventReason
impl Unpin for VmEventReason
impl UnwindSafe for VmEventReason
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