Enum microvmi::api::EventType[][src]

#[repr(C)]pub enum EventType {
    Cr {
        cr_type: CrType,
        new: u64,
        old: u64,
    },
    Msr {
        msr_type: u32,
        value: u64,
    },
    Breakpoint {
        gpa: u64,
        insn_len: u8,
    },
    Pagefault {
        gva: u64,
        gpa: u64,
        access: Access,
    },
}

Various types of events along with their relevant attributes being handled by this driver

Variants

Cr

Cr register interception

Fields of Cr

cr_type: CrType

Type of control register

new: u64

new value after cr register has been intercepted by the guest.

old: u64

old value before cr register has been intercepted by the guest.

Msr

Msr register interception

Fields of Msr

msr_type: u32

Type of model specific register

value: u64

new value after msr register has been intercepted by the guest.

Breakpoint

int3 interception

Fields of Breakpoint

gpa: u64

Physical memory address of the guest

insn_len: u8

instruction length. Generally it should be one. Anything other than one implies malicious guest.

Pagefault

Fields of Pagefault

gva: u64

Virtual memory address of the guest

gpa: u64

Physical memory address of the guest

access: Access

Acsess responsible for thr pagefault

Trait Implementations

impl Debug for EventType[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.