All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eduardo Habkost <ehabkost@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: "Laurent Vivier" <lvivier@redhat.com>,
	"Wenchao Wang" <wenchao.wang@intel.com>,
	"Thomas Huth" <thuth@redhat.com>,
	"Stefano Stabellini" <sstabellini@kernel.org>,
	"Daniel P. Berrangé" <berrange@redhat.com>,
	"Paul Durrant" <paul@xen.org>, "Jason Wang" <jasowang@redhat.com>,
	"Marcelo Tosatti" <mtosatti@redhat.com>,
	qemu-devel@nongnu.org, "Peter Xu" <peterx@redhat.com>,
	"Dario Faggioli" <dfaggioli@suse.com>,
	"Roman Bolshakov" <r.bolshakov@yadro.com>,
	"Cameron Esfahani" <dirty@apple.com>,
	haxm-team@intel.com, "Claudio Fontana" <cfontana@suse.de>,
	"Anthony Perard" <anthony.perard@citrix.com>,
	"Sunil Muthuswamy" <sunilmut@microsoft.com>,
	"Bruce Rogers" <brogers@suse.com>,
	"Philippe Mathieu-Daudé" <philmd@redhat.com>,
	"Richard Henderson" <rth@twiddle.net>,
	"Colin Xu" <colin.xu@intel.com>
Subject: Re: [RFC v1 09/10] i386: split cpu.c and defer x86 models registration
Date: Tue, 10 Nov 2020 12:55:20 -0500	[thread overview]
Message-ID: <20201110175520.GI5733@habkost.net> (raw)
In-Reply-To: <8bc35f55-159f-5037-3355-12bf4fd48e74@redhat.com>

On Tue, Nov 10, 2020 at 05:05:27PM +0100, Paolo Bonzini wrote:
> On 10/11/20 16:23, Eduardo Habkost wrote:
> > On Tue, Nov 10, 2020 at 11:41:46AM +0100, Paolo Bonzini wrote:
> > > On 10/11/20 11:04, Daniel P. Berrangé wrote:
> > > > 
> > > > ie, we should have one class hierarchy for CPU model definitions, and
> > > > one class hierarchy  for accelerator CPU implementations.
> > > > 
> > > > So at runtime we then get two object instances - a CPU implementation
> > > > and a CPU definition. The CPU implementation object should have a
> > > > property which is a link to the desired CPU definition.
> > > 
> > > It doesn't even have to be two object instances.  The implementation can be
> > > nothing more than a set of function pointers.
> > 
> > A set of function pointers is exactly what a QOM interface is.
> > Could the methods be provided by a TYPE_X86_ACCEL interface type,
> > implemented by the accel object?
> 
> I think we should not try yo implement interfaces conditionally (i.e. have
> TYPE_X86_ACCEL implemented only on qemu-system-{i386,x86_64} and not
> qemu-system-arm), even if technically the accel/ objects are per-target
> (specific_ss) rather than common.

If the accel objects are already per target, it seems appropriate
to have a QOM type hierarchy that reflects that.

`qemu-system-x86_64 -accel kvm` would create a kvm-x86_64-accel
object, but `qemu-system-arm -accel kvm` would create a
kvm-arm-accel.

*-x86_64-accel and *-i386-accel would all implement
INTERFACE_X86_ACCEL.

-- 
Eduardo



  reply	other threads:[~2020-11-10 17:56 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-09 17:27 [RFC v1 00/10] i386 cleanup Claudio Fontana
2020-11-09 17:27 ` [RFC v1 01/10] i386: move kvm accel files into accel/kvm/ Claudio Fontana
2020-11-09 17:27 ` [RFC v1 02/10] i386: move whpx accel files to accel/whpx/ Claudio Fontana
2020-11-09 17:27 ` [RFC v1 03/10] i386: move hax accel files to accel/hax/ Claudio Fontana
2020-11-09 17:27 ` [RFC v1 04/10] i386: move hvf accel files into accel/hvf/ Claudio Fontana
2020-11-09 17:27 ` [RFC v1 05/10] i386: move TCG accel files into accel/tcg/ Claudio Fontana
2020-11-09 17:27 ` [RFC v1 06/10] i386: move cpu dump out of helper.c into cpu-dump.c Claudio Fontana
2020-11-09 17:27 ` [RFC v1 07/10] i386: move TCG cpu class initialization out of helper.c Claudio Fontana
2020-11-09 17:39   ` Paolo Bonzini
2020-11-10 10:05     ` Claudio Fontana
2020-11-10 10:42       ` Paolo Bonzini
2020-11-09 17:27 ` [RFC v1 08/10] module: introduce MODULE_INIT_ACCEL_CPU Claudio Fontana
2020-11-09 17:27 ` [RFC v1 09/10] i386: split cpu.c and defer x86 models registration Claudio Fontana
2020-11-09 17:34   ` Paolo Bonzini
2020-11-09 17:37   ` Paolo Bonzini
2020-11-09 18:03   ` Daniel P. Berrangé
2020-11-10  9:40     ` Claudio Fontana
2020-11-10 10:04       ` Daniel P. Berrangé
2020-11-10 10:13         ` Claudio Fontana
2020-11-10 10:41         ` Paolo Bonzini
2020-11-10 15:23           ` Eduardo Habkost
2020-11-10 16:05             ` Paolo Bonzini
2020-11-10 17:55               ` Eduardo Habkost [this message]
2020-11-10 20:39                 ` Paolo Bonzini
2020-11-10 20:45                   ` Eduardo Habkost
2020-11-10 17:38             ` Claudio Fontana
2020-11-10 18:14               ` Eduardo Habkost
2020-11-11 12:59                 ` Claudio Fontana
2020-11-16 17:53             ` Claudio Fontana
2020-11-09 19:04   ` Eduardo Habkost
2020-11-10  9:49     ` Claudio Fontana
2020-11-09 17:27 ` [RFC v1 10/10] module: add priority to module_init Claudio Fontana
2020-11-09 17:45 ` [RFC v1 00/10] i386 cleanup no-reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201110175520.GI5733@habkost.net \
    --to=ehabkost@redhat.com \
    --cc=anthony.perard@citrix.com \
    --cc=berrange@redhat.com \
    --cc=brogers@suse.com \
    --cc=cfontana@suse.de \
    --cc=colin.xu@intel.com \
    --cc=dfaggioli@suse.com \
    --cc=dirty@apple.com \
    --cc=haxm-team@intel.com \
    --cc=jasowang@redhat.com \
    --cc=lvivier@redhat.com \
    --cc=mtosatti@redhat.com \
    --cc=paul@xen.org \
    --cc=pbonzini@redhat.com \
    --cc=peterx@redhat.com \
    --cc=philmd@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=r.bolshakov@yadro.com \
    --cc=rth@twiddle.net \
    --cc=sstabellini@kernel.org \
    --cc=sunilmut@microsoft.com \
    --cc=thuth@redhat.com \
    --cc=wenchao.wang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.