On Fri, Jan 04, 2013 at 08:01:10PM -0200, Eduardo Habkost wrote: > Now that all entries have check_feat=~0 on > kvm_check_features_against_host(), we can eliminate check_feat entirely > and make the code check all bits. > > This patch shouldn't introduce any behavior change, as check_feat is set > to ~0 on all entries. > > Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx> > --- > Changes v2: > - Coding style fix > --- > target-i386/cpu.c | 14 ++++++-------- > 1 file changed, 6 insertions(+), 8 deletions(-) > > diff --git a/target-i386/cpu.c b/target-i386/cpu.c > index a9dd959..1c3c7e1 100644 > --- a/target-i386/cpu.c > +++ b/target-i386/cpu.c > @@ -148,7 +148,6 @@ const char *get_register_name_32(unsigned int reg) > typedef struct model_features_t { > uint32_t *guest_feat; > uint32_t *host_feat; > - uint32_t check_feat; > const char **flag_names; > uint32_t cpuid; > int reg; > @@ -956,8 +955,7 @@ static int unavailable_host_feature(struct model_features_t *f, uint32_t mask) > } > > /* best effort attempt to inform user requested cpu flags aren't making > - * their way to the guest. Note: ft[].check_feat ideally should be > - * specified via a guest_def field to suppress report of extraneous flags. > + * their way to the guest. > * > * This function may be called only if KVM is enabled. > */ > @@ -968,13 +966,13 @@ static int kvm_check_features_against_host(x86_def_t *guest_def) > int rv, i; > struct model_features_t ft[] = { > {&guest_def->features, &host_def.features, > - ~0, feature_name, 0x00000001, R_EDX}, > + feature_name, 0x00000001, R_EDX}, > {&guest_def->ext_features, &host_def.ext_features, > - ~0, ext_feature_name, 0x00000001, R_ECX}, > + ext_feature_name, 0x00000001, R_ECX}, > {&guest_def->ext2_features, &host_def.ext2_features, > - ~0, ext2_feature_name, 0x80000001, R_EDX}, > + ext2_feature_name, 0x80000001, R_EDX}, > {&guest_def->ext3_features, &host_def.ext3_features, > - ~0, ext3_feature_name, 0x80000001, R_ECX} > + ext3_feature_name, 0x80000001, R_ECX} > }; > > assert(kvm_enabled()); > @@ -982,7 +980,7 @@ static int kvm_check_features_against_host(x86_def_t *guest_def) > kvm_cpu_fill_host(&host_def); > for (rv = 0, i = 0; i < ARRAY_SIZE(ft); ++i) > for (mask = 1; mask; mask <<= 1) > - if (ft[i].check_feat & mask && *ft[i].guest_feat & mask && > + if (*ft[i].guest_feat & mask && > !(*ft[i].host_feat & mask)) { > unavailable_host_feature(&ft[i], mask); > rv = 1; > -- > 1.7.11.7 > -- Gleb. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html