Re: [PATCH] kvm: fix cpuid eax

From: Ingo Molnar
Date: Mon May 07 2012 - 04:27:03 EST



* Avi Kivity <avi@xxxxxxxxxx> wrote:

> On 05/01/2012 03:53 PM, Avi Kivity wrote:
> > On 04/30/2012 11:37 PM, Anthony Liguori wrote:
> > > On 04/30/2012 09:39 AM, Michael S. Tsirkin wrote:
> > >> cpuid eax should return the max leaf so that
> > >> guests can find out the valid range.
> > >> This matches Xen et al.
> > >
> > > What KVM does here predates Xen and Hyper-V.
> > >
> > > This is an ABI breaker.
> >
> > First, I don't think we ever documented eax, so nothing can rely on it.
> >
>
> Actually, we did document it.
>
> However, I think it's safe to change. The documentation in
> this case should say "reserved, returns zero in this
> implementation", rather than 0.

Just a side note: whether and how it got documented is
immaterial, what matters is whether any application binary that
is already out there breaks. (The 'B' in ABI.)

Whether it was fully documented or it was entirly undocumented,
the code obfuscated, encrypted and all this information got
locked away in a safe at a military base protected by nuclear
missiles is immaterial: if someone accidentally stumbled upon it
and an app learned to rely on the ABI detail then tough luck.

Fortunately, this does not appear to have happened, so as a
result it's *not* an Application Binary Interface (it's only a
Binary Interface) and can thus be changed for the better.

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/