qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH qom-cpu 00/16 v10] target-i386: convert CPU feat


From: Igor Mammedov
Subject: Re: [Qemu-devel] [PATCH qom-cpu 00/16 v10] target-i386: convert CPU features into properties
Date: Wed, 5 Feb 2014 15:40:07 +0100

On Sun, 15 Dec 2013 23:50:47 +0100
Andreas Färber <address@hidden> wrote:

> Am 27.11.2013 23:28, schrieb Igor Mammedov:
> > Igor Mammedov (16):
> >   target-i386: cleanup 'foo' feature handling'
> >   target-i386: cleanup 'foo=val' feature handling
> 
> Thanks, I've queued these on qom-cpu-next:
> https://github.com/afaerber/qemu-cpu/commits/qom-cpu-next
> 
> >   target-i386: cpu: convert 'level' to static property
> >   target-i386: cpu: convert 'xlevel' to static property
> >   target-i386: cpu: convert 'family' to static property
> >   target-i386: cpu: convert 'model' to static property
> >   target-i386: cpu: convert 'stepping' to static property
> >   target-i386: cpu: convert 'vendor' to static property
> >   target-i386: cpu: convert 'model-id' to static property
> >   target-i386: cpu: convert 'tsc-frequency' to static property
> 
> But I still don't see the utility of this conversion after all the
> discussions we've had... :(
It seems there is movement to make DEVICE self describing for purpose
of QAPI schema introspection, where static properties would be used
(dynamic ones are not suitable for this purpose)


> The below patches seem to only operate on
> CPUID bits, which get added as properties in the following patch.
> 
> >   target-i386: set [+-]feature using static properties
> >   qdev: introduce qdev_prop_find_bit()
> >   target-i386: use static properties in check_features_against_host() to
> >     print CPUID feature names
> >   target-i386: use static properties to list CPUID features
> 
> I am reading too many occurrences of "static properties" above that
> should IMO just be "properties". You got permission to use a name-based
> scheme to iterate over feat-* properties, so why are you still iterating
> over static properties with a helper searching for offsets rather than
> QOM properties with feat- prefix? Either we need that scheme for
Ok, I'll use feat- prefix, there is not real need for iterating over array
when listing properties.

> automated processing as I understood you, then we should be consequent
> in using it, or we don't. And I would prefer to keep these mappings in
> x86 code rather than messing in generic device infrastructure and
> iterating over *all* properties in your qdev_prop_find_bit() and making
> generally available new QDEV_* macros QDEV_PROP_FOREACH() and
> QDEV_CLASS_FOREACH().
Unfortunatly we still need mapping from bit position to name for
kvm_check_features_against_host()
So there is 2 options:
 1st: keep iterating over array local to x86
 2nd: drop name reporting in kvm_check_features_against_host() and report
      bit positions.

which one would you preffer?

> 
> The utility of the feat- prefix AIUI is to go from +foo to feat-foo=on;
> going from bit position to name should work just as before and could
> even be consolidated into a single array by using dynamic properties.
I can't get you, Could you elaborate more on "consolidated into a single array
by using dynamic properties."

> Am I the only one that finds the approach backwards? o.O
> 
> Regards,
> Andreas
> 
> >   target-i386: remove unused *_feature_name arrays
> >   target-i386: cpu: fix invalid use of error_is_set(errp) if errp ==
> >     NULL
> 
> -- 
> SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
> GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg


-- 
Regards,
  Igor



reply via email to

[Prev in Thread] Current Thread [Next in Thread]