On Mon, Dec 14, 2020, Tom Lendacky wrote: > On 12/14/20 9:45 AM, Paolo Bonzini wrote: > > On 10/12/20 18:09, Tom Lendacky wrote: > >> @@ -3184,6 +3186,8 @@ static int svm_invoke_exit_handler(struct vcpu_svm > >> *svm, u64 exit_code) > >> return halt_interception(svm); > >> else if (exit_code == SVM_EXIT_NPF) > >> return npf_interception(svm); > >> + else if (exit_code == SVM_EXIT_VMGEXIT) > >> + return sev_handle_vmgexit(svm); > > > > Are these common enough to warrant putting them in this short list? > > A VMGEXIT exit occurs for any of the listed NAE events in the GHCB > specification (e.g. CPUID, RDMSR/WRMSR, MMIO, port IO, etc.) if those > events are being intercepted (or triggered in the case of MMIO). It will > depend on what is considered common. Since SVM_EXIT_MSR was already in the > list, I figured I should add VMGEXIT. I agree VMGEXIT should be added to the hot path, it could very well be the most common exit reason due to all instruction-based emulation getting funneled through VMGEXIT.