Re: [PATCH 2/2] KVM: VMX: Add Force Emulation Prefix for "emulate the next instruction"

From: Nikita Leshenko
Date: Tue Mar 27 2018 - 05:10:45 EST


What you are essentially trying to do is create a PV interface to access
the x86 emulator.
Why not use a simple hypercall (VMCALL) to accomplish this instead of
inventing yet another PV method?

Something like âKVM_HC_EMULATE_NEXT_INSTRUCTIONâ in kvm_emulate_hypercall
should do the trick (however it needs to be placed before the check for
CPL>0 so that user mode code can test the emulator too).

Nikita

> On 27 Mar 2018, at 11:26, Liran Alon <liran.alon@xxxxxxxxxx> wrote:
>
>
> ----- pbonzini@xxxxxxxxxx wrote:
>
>> On 27/03/2018 09:52, Liran Alon wrote:
>>> In addition, I think this module parameter should be in kvm module
>>> (not kvm_intel) and you should add similar logic to kvm_amd module
>> (SVM)
>>
>> If you can move handle_ud to x86.c, then it makes sense to have the
>> module parameter in the kvm module. I haven't checked.
>
> I don't see a reason why you couldn't do that.
>
>>
>> Otherwise you would have to EXPORT_SYMBOL_GPL the variable; in the
>
> This is what I did for enable_vmware_backdoor module parameter.
> I think this is what should be done in this case as-well.
>
>> end
>> it's just a debugging tool, so it'd be simpler to just add it
>> separately
>> to kvm_intel and kvm_amd.
>
> I agree it's just a debugging tool. But no reason for it to be used differently
> when running tests on Intel CPU vs. AMD CPU.
> I think the effort to fix this is low.
>
>>
>> Paolo
>
>