struct MsrEmulateHandler {
    msr_data: u64,
}
Expand description

MsrPassthroughHandler - emulate handler that will handle RDMSR/WRMSR with a dummy MSR value other than access to real MSR. This Handler will initialize a value(msr_data) with the corresponding Host MSR value, then handle the RDMSR/WRMSR based on this “value”.

For RDMSR, this handler will give Guest the stored msr_data. For WRMSR, this handler will directly change msr_data without the modification on real Host MSR. The change will not take effect on the real MSR of Host.

‘emulate’ Handler is used in the case, that some driver need to control MSR and user just wants to make WRMSR successful and doesn’t care about if WRMSR really works. This handlers make Guest’s control of CPU not affect the host

Fields§

§msr_data: u64

Only initialize msr_data with MSR source pCPU, and will not update msr value changes on host cpu into msr_data.

Implementations§

Trait Implementations§

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.