Messages in this thread | | | Date | Fri, 19 Sep 2014 15:40:29 +0200 | From | Paolo Bonzini <> | Subject | Re: [RESEND PATCH 1/3] x86: Adding structs to reflect cpuid fields |
| |
Il 19/09/2014 09:58, Borislav Petkov ha scritto: >> > The trivial example is feature bits like XSAVE. We query them all the >> > time without checking the family when they were first introduced, >> > don't we? > The feature bits would obviously be 0 if features are not supported.
And similarly, Intel would not extend a bit from 16 to 17 bits if it weren't zero on all older processors.
> However, even there > > "16 - Reserved - Do not count on the value." > > I'm quoting Intel's CPUID doc 241618-037 from 2011 (there might be a > newer one though), the CPUID(1).ECX description.
Once that bit gets a meaning in newer processors, the same meaning will work retroactively for existing processors. That's just how CPUID is used. Nobody checks families before testing bits, Intel/AMD do not even suggest that.
> Do you have a guarantee that this won't happen in the future and break > all your fancy bitfields assumptions?
No guarantee, but were that to happen, I'd expect tar and feathers spectacles around Intel's engineering headquarters.
Paolo
| |