On Fri, Nov 20, 2020 at 04:34:47PM +0100, Claudio Fontana wrote:
> On 11/20/20 3:49 PM, Claudio Fontana wrote:
> > split cpu.c into:
> > 
> > cpu.c            cpuid and common x86 cpu functionality
> > host-cpu.c       host x86 cpu functions and "host" cpu type
> > kvm/cpu.c        KVM x86 cpu type
> > hvf/cpu.c        HVF x86 cpu type
> > tcg/cpu.c        TCG x86 cpu type
> > 
> > The link to the accel class is set in the X86CPUClass classes
> > at MODULE_INIT_ACCEL_CPU time, when the accelerator is known.
> > 
> > Signed-off-by: Claudio Fontana <cfont...@suse.de>
> > ---
[...]
> > +#define TYPE_X86_CPU_ACCEL TYPE_X86_CPU "-accel"
> > +#define X86_CPU_ACCEL_TYPE_NAME(name) (name "-" TYPE_X86_CPU_ACCEL)
> > +
> > +OBJECT_DECLARE_TYPE(X86CPUAccel, X86CPUAccelClass,
> > +                    X86_CPU_ACCEL)
> 
> 
> Instead of OBJECT_DECLARE_TYPE, since this is never instantiated, this should 
> probably be:
> 
> +typedef struct X86CPUAccelClass X86CPUAccelClass;
> +DECLARE_CLASS_CHECKERS(X86CPUAccelClass, X86_CPU_ACCEL, TYPE_X86_CPU_ACCEL)

Yes, and this way we get rid of the only difference between
OBJECT_DECLARE_TYPE and OBJECT_DECLARE_INTERFACE: the instance
type cast macro is a bit different (it uses INTERFACE_CHECK).

-- 
Eduardo


Reply via email to