On Wed, Sep 21, 2016 at 01:58:55PM -0700, Richard Henderson wrote:
> On 09/21/2016 01:14 PM, Eduardo Habkost wrote:
> > On Wed, Sep 21, 2016 at 12:53:08PM -0700, Richard Henderson wrote:
> > > On 09/21/2016 11:26 AM, Eduardo Habkost wrote:
> > > > +/* Set cpuid_*level* based on
On 09/21/2016 01:14 PM, Eduardo Habkost wrote:
On Wed, Sep 21, 2016 at 12:53:08PM -0700, Richard Henderson wrote:
On 09/21/2016 11:26 AM, Eduardo Habkost wrote:
+/* Set cpuid_*level* based on cpuid_min_*level, if not explicitly set */
+if (!env->cpuid_level) {
+env->cpuid_level
On Wed, Sep 21, 2016 at 12:53:08PM -0700, Richard Henderson wrote:
> On 09/21/2016 11:26 AM, Eduardo Habkost wrote:
> > +/* Set cpuid_*level* based on cpuid_min_*level, if not explicitly set
> > */
> > +if (!env->cpuid_level) {
> > +env->cpuid_level = env->cpuid_min_level;
> > +
On 09/21/2016 11:26 AM, Eduardo Habkost wrote:
+/* Set cpuid_*level* based on cpuid_min_*level, if not explicitly set */
+if (!env->cpuid_level) {
+env->cpuid_level = env->cpuid_min_level;
+}
+if (!env->cpuid_xlevel) {
+env->cpuid_xlevel = env->cpuid_min_xlevel;
+
Instead of requiring users and management software to be aware of
required CPUID level/xlevel/xlevel2 values for each feature,
automatically increase those values when features need them.
This was already done for CPUID[7].EBX, and is now made generic
for all CPUID feature flags. Unit test