>>> On 08.12.18 at 21:48, <[email protected]> wrote: > 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 hvm_inject_page_fault(), > which then overwrites the active interrupt in the VMCS.
I take it that hvm_inject_page_fault() is just the most prominent example. If so, wold you mind adding "e.g."? > @@ -239,6 +241,12 @@ void vmx_intr_assist(void) > return; > } > > + /* Block event injection while handling a sync vm_event. */ > + if ( unlikely(v->arch.vm_event) && > + vm_event_check_ring(v->domain->vm_event_monitor) && Is this check really needed? > + v->arch.vm_event->intr_block ) This part certainly doesn't look to depend on it. Perhaps ->intr_block would better be cleared when tearing down a ring? Also is there really no similar change needed on the AMD (SVM) side? Jan _______________________________________________ Xen-devel mailing list [email protected] https://lists.xenproject.org/mailman/listinfo/xen-devel
