On 23/09/20 22:40, Tom Lendacky wrote:
>>> +static int invd_interception(struct vcpu_svm *svm)
>>> +{
>>> +   /*
>>> +    * Can't do emulation on an SEV guest and INVD is emulated
>>> +    * as a NOP, so just skip the instruction.
>>> +    */
>>> +   return (sev_guest(svm->vcpu.kvm))
>>> +           ? kvm_skip_emulated_instruction(&svm->vcpu)
>>> +           : kvm_emulate_instruction(&svm->vcpu, 0);
>>
>> Is there any reason not to do kvm_skip_emulated_instruction() for both SEV
>> and legacy?  VMX has the same odd kvm_emulate_instruction() call, but AFAICT
>> that's completely unecessary, i.e. VMX can also convert to a straight skip.
> 
> You could, I just figured I'd leave the legacy behavior just in case. Not
> that I can think of a reason that behavior would ever change.

Yeah, let's do skip for both SVM and VMX.

Paolo

Reply via email to