On Tue, Mar 10, 2020 at 10:10 AM Sean Christopherson <sean.j.christopherson@xxxxxxxxx> wrote: > > On Fri, Mar 06, 2020 at 10:03:37AM +0100, Paolo Bonzini wrote: > > On 05/03/20 22:51, Sean Christopherson wrote: > > >> Ah. So cross-vendor CPUID specifications are not supported? > > > Cross-vendor CPUID is sort of allowed? E.g. this plays nice with creating > > > a Centaur CPU on an Intel platform. My interpretation of GET_SUPPORTED... > > > is that KVM won't prevent enumerating what you want in CPUID, but it only > > > promises to correctly support select leafs. > > > > But in practice does this change anything? If the vendor is not Centaur > > it's unlikely that there is a 0xc0000000 leaf. The 0x80000000 bound is > > certainly not going to be at 0xc0000000 or beyond, and likewise to 0xc0000000 > > bound is not going to be at 0xd0000000 or beyond. So I'm not sure if > > anything is lost from this simplification: > > Probably not? But in the unlikely scenario that Intel wants to add a CPUID > leaf above 0xc0000000, I don't want to have to explain that it might cause > problems for KVM guests because I added code to emulate (alleged) Centaur > behavior for virtual Intel CPUs. And there is some precedent for that, with the 0x20000000 leaves.