Skip to content
  • Paolo Bonzini's avatar
    KVM: nSVM: synthesize correct EXITINTINFO on vmexit · 36e2e983
    Paolo Bonzini authored
    
    
    This bit was added to nested VMX right when nested_run_pending was
    introduced, but it is not yet there in nSVM.  Since we can have pending
    events that L0 injected directly into L2 on vmentry, we have to transfer
    them into L1's queue.
    
    For this to work, one important change is required: svm_complete_interrupts
    (which clears the "injected" fields from the previous VMRUN, and updates them
    from svm->vmcb's EXITINTINFO) must be placed before we inject the vmexit.
    This is not too scary though; VMX even does it in vmx_vcpu_run.
    
    While at it, the nested_vmexit_inject tracepoint is moved towards the
    end of nested_svm_vmexit.  This ensures that the synthesized EXITINTINFO
    is visible in the trace.
    
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    36e2e983