All of lore.kernel.org
 help / color / mirror / Atom feed
From: Igor Mammedov <imammedo@redhat.com>
To: Eduardo Habkost <ehabkost@redhat.com>
Cc: "Paolo Bonzini" <pbonzini@redhat.com>,
	"Don Slutz" <Don@CloudSwitch.Com>,
	"Andreas Färber" <afaerber@suse.de>,
	"Anthony Liguori" <anthony@codemonkey.ws>,
	qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 8/8] qom: Make CPU a child of DeviceState
Date: Wed, 12 Dec 2012 15:27:24 +0100	[thread overview]
Message-ID: <20121212152724.7693d277@nial.usersys.redhat.com> (raw)
In-Reply-To: <20121212135901.GD3236@otherpad.lan.raisama.net>

On Wed, 12 Dec 2012 11:59:01 -0200
Eduardo Habkost <ehabkost@redhat.com> wrote:

> On Wed, Dec 12, 2012 at 02:34:08PM +0100, Andreas Färber wrote:
> > Am 05.12.2012 17:49, schrieb Eduardo Habkost:
> [...]
> > >  static TypeInfo cpu_type_info = {
> > >      .name = TYPE_CPU,
> > > -    .parent = TYPE_OBJECT,
> > > +    .parent = TYPE_DEVICE,
> > >      .instance_size = sizeof(CPUState),
> > >      .abstract = true,
> > >      .class_size = sizeof(CPUClass),
> > 
> > This patch makes the CPU a device and looks good so far but does not
> > initialize the devices in cpu_*_init() like Anthony did in his previous
> > patch. I am unsure whether you forgot to do so or whether you wanted to
> > help keep our new CPU code clean of old-style qdev_init_nofail() calls?
> > Since you don't add a qdev initfn here the main difference will be the
> > devices internally staying in "created" rather than "initialized" state.
> 
> I think I used a version without the qdev_init_nofail() as base for this
> series (we had multiple proposals being sent in parallel, in the
> beginning), and in the end I forgot that we had a version with those
> calls being added.
> 
> The CPU classes don't set any DeviceClass.init() method, so in theory
> the missing qdev_init() calls wouldn't make any difference by now. On
> the other hand, keeping the device in "created" state sounds bad... but
> maybe this acceptable while we are still converting the CPU realize()
> functions to fit inside the DeviceState initialization abstraction?
Testing shows that lack of qdev_create()/init() doesn't break anything so
far. I was planing to send hot-plug RFC after properties and subclasses for
x86 are done and temporally wrap x86_cpu_realize() inside DeviceClass.init()
so we could use qdev_create()/init() and device_add() for CPU.
It's still on my TODO list. Perhaps after I resubmit properties series (I
hope to do it this week), I'll redo hot-plug prototype using as a base my
experimental subclasses branch
https://github.com/imammedo/qemu/commits/x86-cpu-classes.WIP

  reply	other threads:[~2012-12-12 14:27 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-05 16:49 [Qemu-devel] [PATCH 0/8] CPU DeviceState v10 Eduardo Habkost
2012-12-05 16:49 ` [Qemu-devel] [PATCH 1/8] Move -I$(SRC_PATH)/include compiler flag to Makefile.objs Eduardo Habkost
2012-12-14 15:34   ` Andreas Färber
2012-12-14 15:38     ` Paolo Bonzini
2012-12-14 17:21     ` Eduardo Habkost
2013-01-02 13:48       ` Andreas Färber
2013-01-02 14:32         ` Eduardo Habkost
2012-12-05 16:49 ` [Qemu-devel] [PATCH 2/8] libqemustub: Add qemu_[un]register_reset() stubs Eduardo Habkost
2012-12-05 16:49 ` [Qemu-devel] [PATCH 3/8] libqemustub: vmstate register/unregister stubs Eduardo Habkost
2013-01-02 12:57   ` Andreas Färber
2012-12-05 16:49 ` [Qemu-devel] [PATCH 4/8] libqemustub: sysbus_get_default() stub Eduardo Habkost
2012-12-05 16:49 ` [Qemu-devel] [PATCH 5/8] qdev: Coding style fixes Eduardo Habkost
2012-12-18 22:01   ` Andreas Färber
2012-12-05 16:49 ` [Qemu-devel] [PATCH 6/8] qdev-properties.c: Separate core from the code used only by qemu-system-* Eduardo Habkost
2012-12-18 22:30   ` Andreas Färber
2012-12-05 16:49 ` [Qemu-devel] [PATCH 7/8] include qdev code into *-user, too Eduardo Habkost
2012-12-05 16:49 ` [Qemu-devel] [PATCH 8/8] qom: Make CPU a child of DeviceState Eduardo Habkost
2012-12-12 13:34   ` Andreas Färber
2012-12-12 13:59     ` Eduardo Habkost
2012-12-12 14:27       ` Igor Mammedov [this message]
2012-12-12 14:36         ` Eduardo Habkost
2012-12-14 15:29         ` Andreas Färber
2012-12-14 15:40           ` Paolo Bonzini
2012-12-14 15:44             ` Andreas Färber
2012-12-14 17:56               ` Eduardo Habkost
2013-01-02 15:08   ` Andreas Färber
2013-01-02 16:40     ` Igor Mammedov
2013-01-02 16:49       ` Eduardo Habkost
2013-01-03 17:36 ` [Qemu-devel] [PATCH 0/8] CPU DeviceState v10 Andreas Färber

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=20121212152724.7693d277@nial.usersys.redhat.com \
    --to=imammedo@redhat.com \
    --cc=Don@CloudSwitch.Com \
    --cc=afaerber@suse.de \
    --cc=anthony@codemonkey.ws \
    --cc=ehabkost@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /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.