Re: [PATCH] KVM: x86: Deflect unknown MSR accesses to user space

From: Vitaly Kuznetsov
Date: Wed Jul 29 2020 - 05:22:53 EST


Alexander Graf <graf@xxxxxxxxxx> writes:

> On 29.07.20 10:23, Vitaly Kuznetsov wrote:
>>
>>
>>
>> Jim Mattson <jmattson@xxxxxxxxxx> writes:
>>
>>> On Tue, Jul 28, 2020 at 5:41 AM Alexander Graf <graf@xxxxxxxxxx> wrote:
>>>>
>>
>> ...
>>
>>>> While it does feel a bit overengineered, it would solve the problem that
>>>> we're turning in-KVM handled MSRs into an ABI.
>>>
>>> It seems unlikely that userspace is going to know what to do with a
>>> large number of MSRs. I suspect that a small enumerated list will
>>> suffice.
>>
>> The list can also be 'wildcarded', i.e.
>> {
>> u32 index;
>> u32 mask;
>> ...
>> }
>>
>> to make it really short.
>
> I like the idea of wildcards, but I can't quite wrap my head around how
> we would implement ignore_msrs in user space with them?
>

For that I think we can still deflect all unknown MSR accesses to
userspace (when the CAP is enabled of course ) but MSRs which are on the
list will *have to be deflected*, i.e. KVM can't handle them internally
without consulting with userspace.

We can make it tunable through a parameter for CAP enablement if needed.

--
Vitaly