Re: [PATCH] KVM: x86: work around QEMU issue with synthetic CPUID leaves

From: Maxim Levitsky
Date: Mon May 02 2022 - 02:25:55 EST


On Sun, 2022-05-01 at 19:37 +0200, Paolo Bonzini wrote:
> On 5/1/22 13:16, Maxim Levitsky wrote:
> > > + * However, only do it if the host has CPUID leaf 0x8000001d.
> > > + * QEMU thinks that it can query the host blindly for that
> > > + * CPUID leaf if KVM reports that it supports 0x8000001d or
> > > + * above. The processor merrily returns values from the
> > > + * highest Intel leaf which QEMU tries to use as the guest's
> > > + * 0x8000001d. Even worse, this can result in an infinite
> > > + * loop if said highest leaf has no subleaves indexed by ECX.
> >
> > Very small nitpick: It might be useful to add a note that qemu does this only for the
> > leaf 0x8000001d.
>
> Yes, it's there: "QEMU thinks that it can query the host blindly for
> that CPUID leaf", "that" is 0x8000001d in the previous sentence.

Yes I see it, but it doesn't state that qemu doesn't do this to other leaves in the affected range.

I had to check the qemu source to verify this to be sure that checking for 0x8000001d
is enough.

Just a tiny minor nitpick though.

Best regards,
Maxim Levitsky

>
> Paolo
>