On Mon, Nov 21, 2022 at 05:28:39PM +0000, Sean Christopherson wrote: > Yes. Most userspace VMMs sanitize their CPUID models based on KVM_GET_SUPPORTED_CPUID, > e.g. by default, QEMU will refuse to enable features in guest CPUID that aren't > reported as supported by KVM. > > Another use case is for userspace to blindly use the result of KVM_GET_SUPPORTED_CPUID > as the guest's CPUID model, e.g. for using KVM to isolate code as opposed to standing > up a traditional virtual machine. For that use case, userspace again relies on KVM to > enumerate support. Ah ok, thx. /me makes a mental note. > What I was trying to call out in the above is that the KVM "enabling" technically > doesn't expose the feature to the guest. E.g. a clever guest could ignore CPUID > and probe the relevant instructions manually by seeing whether or not they #UD. As can a nasty userspace on baremetal. That's why /proc/cpuinfo is not really the authority of what's supported and we're going away from treating it that way. -- Regards/Gruss, Boris. https://people.kernel.org/tglx/notes-about-netiquette