> From: Razvan Cojocaru [mailto:[email protected]] > Sent: Friday, December 14, 2018 7:50 PM > > Block interrupts (in vmx_intr_assist()) for the duration of > processing a sync vm_event (similarly to the strategy > currently used for single-stepping). Otherwise, attempting > to emulate an instruction when requested by a vm_event > reply may legitimately need to call e.g. > hvm_inject_page_fault(), which then overwrites the active > interrupt in the VMCS. > > The sync vm_event handling path on x86/VMX is (roughly): > monitor_traps() -> process vm_event -> vmx_intr_assist() > (possibly writing VM_ENTRY_INTR_INFO) -> > hvm_vm_event_do_resume() -> hvm_emulate_one_vm_event() > (possibly overwriting the VM_ENTRY_INTR_INFO value). > > This patch may also be helpful for the future removal > of may_defer in hvm_set_cr{0,3,4} and hvm_set_msr(). > > Signed-off-by: Razvan Cojocaru <[email protected]> >
Reviewed-by: Kevin Tian <[email protected]> _______________________________________________ Xen-devel mailing list [email protected] https://lists.xenproject.org/mailman/listinfo/xen-devel
