Messages in this thread | | | Subject | Re: [PATCH v6 2/5] KVM: x86: Add IBPB support | From | Paolo Bonzini <> | Date | Mon, 5 Feb 2018 20:24:01 +0100 |
| |
On 02/02/2018 21:28, Konrad Rzeszutek Wilk wrote: >>>> Nothing would *set* the IBPB bit though, since that's a "virtual" bit >>>> on Intel hardware. The comment explains why we have that |= F(IBPB), >>>> and if the comment wasn't true, we wouldn't need that code either. >>> But this seems wrong. That is on Intel CPUs we will advertise on >>> AMD leaf that the IBPB feature is available. >>> >>> Shouldn't we just check to see if the machine is AMD before advertising >>> this bit? >> No. The AMD feature bits give us more fine-grained support for exposing >> IBPB or IBRS alone, so we expose those bits on Intel too. > But but.. that runs smack against the idea of exposing a platform that > is as close to emulating the real hardware as possible. > > As in I would never expect an Intel CPU to expose the IBPB on the 0x8000_0008 > leaf. Hence KVM (nor any hypervisor) should not do it either.
This is KVM_GET_*SUPPORTED*_CPUID. The actual CPUID bits that are exposed (and also which CPUID leafs are there, even though this one is present in both Intel and AMD) are determined by userspace.
Paolo
| |