On 09/26/2012 01:32 PM, Igor Mammedov wrote: > + > +static void x86_cpuid_get_feature(Object *obj, Visitor *v, void *opaque, > + const char *name, Error **errp) > +{ > + X86CPU *cpu = X86_CPU(obj); > + CPUX86State *env = &cpu->env; > + bool value = true; > + > + if (!is_feature_set(name, env->cpuid_features, feature_name) && > + !is_feature_set(name, env->cpuid_ext_features, ext_feature_name) && > + !is_feature_set(name, env->cpuid_ext2_features, ext2_feature_name) && > + !is_feature_set(name, env->cpuid_ext3_features, ext3_feature_name) && > + !is_feature_set(name, env->cpuid_kvm_features, kvm_feature_name) && > + !is_feature_set(name, env->cpuid_svm_features, svm_feature_name)) { > + value = false; > + } > +
If you're going to do a full-blown restructuring of the CPUID handling, how about actually turning this into a composite object, specifically an array, instead of this insane collection of arguments (which needs to be augmented)? -hpa