Paolo Bonzini <pbonzini@xxxxxxxxxx> writes: > On 22/01/20 17:29, Vitaly Kuznetsov wrote: >> Yes, in case we're back to the idea to filter things out in QEMU we can >> do this. What I don't like is that every other userspace which decides >> to enable eVMCS will have to perform the exact same surgery as in case >> it sets allow_unsupported_controls=0 it'll have to know (hardcode) the >> filtering (or KVM_SET_MSRS will fail) and in case it opts for >> allow_unsupported_controls=1 Windows guests just won't boot without the >> filtering. >> >> It seems to be 1:1, eVMCSv1 requires the filter. > > Yes, that's the point. It *is* a hack in KVM, but it is generally > preferrable to have an easier API for userspace, if there's only one way > to do it. > > Though we could be a bit more "surgical" and only remove > SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES---thus minimizing the impact on > non-eVMCS guests. Vitaly, can you prepare a v2 that does that and adds > a huge "hack alert" comment that explains the discussion? Yes, sure. I'd like to do more testing to make sure filtering out SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES is enough for other Hyper-V versions too (who knows how many bugs are there :-) -- Vitaly