pub enum VcpuExit {
Show 30 variants
IoOut {
port: u16,
size: usize,
data: [u8; 8],
},
IoIn {
port: u16,
size: usize,
},
MmioRead {
address: u64,
size: usize,
},
MmioWrite {
address: u64,
size: usize,
data: [u8; 8],
},
IoapicEoi {
vector: u8,
},
HypervSynic {
msr: u32,
control: u64,
evt_page: u64,
msg_page: u64,
},
HypervHcall {
input: u64,
params: [u64; 2],
},
Unknown,
Exception,
Hypercall,
Debug,
Hlt,
IrqWindowOpen,
Shutdown,
FailEntry {
hardware_entry_failure_reason: u64,
},
Intr,
SetTpr,
TprAccess,
S390Sieic,
S390Reset,
Dcr,
Nmi,
InternalError,
Osi,
PaprHcall,
S390Ucontrol,
Watchdog,
S390Tsch,
Epr,
SystemEvent(u32, u64),
}
Expand description
A reason why a VCPU exited. One of these returns every time Vcpu::run
is called.
Variants§
IoOut
An out port instruction was run on the given port with the given data.
IoIn
An in port instruction was run on the given port.
The date that the instruction receives should be set with set_data
before Vcpu::run
is
called again.
MmioRead
A read instruction was run against the given MMIO address.
The date that the instruction receives should be set with set_data
before Vcpu::run
is
called again.
MmioWrite
A write instruction was run against the given MMIO address with the given data.
IoapicEoi
HypervSynic
HypervHcall
Unknown
Exception
Hypercall
Debug
Hlt
IrqWindowOpen
Shutdown
FailEntry
Intr
SetTpr
TprAccess
S390Sieic
S390Reset
Dcr
Nmi
InternalError
Osi
PaprHcall
S390Ucontrol
Watchdog
S390Tsch
Epr
SystemEvent(u32, u64)
The cpu triggered a system level event which is specified by the type field. The first field is the event type and the second field is flags. The possible event types are shutdown, reset, or crash. So far there are not any flags defined.