[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 8/8] qom: Make CPU a child of DeviceState
From: |
Andreas Färber |
Subject: |
Re: [Qemu-devel] [PATCH 8/8] qom: Make CPU a child of DeviceState |
Date: |
Fri, 14 Dec 2012 16:29:19 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/17.0 Thunderbird/17.0 |
Am 12.12.2012 15:27, schrieb Igor Mammedov:
> On Wed, 12 Dec 2012 11:59:01 -0200
> Eduardo Habkost <address@hidden> wrote:
>> On Wed, Dec 12, 2012 at 02:34:08PM +0100, Andreas Färber wrote:
>>> 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.
The latest motivation for making the CPU a device was to have the static
properties infrastructure for machine/CPU versioning. The global
property defaults are set in qdev's instance_init, so object_new() seems
fine for that.
qdev_[try_]create() would further set the parent bus to SysBus if NULL.
The CPU is not a SysBusDevice so I think not using qdev_create() may be
safer... Maybe Anthony or Paolo can confirm?
Andreas
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
- [Qemu-devel] [PATCH 0/8] CPU DeviceState v10, Eduardo Habkost, 2012/12/05
- [Qemu-devel] [PATCH 2/8] libqemustub: Add qemu_[un]register_reset() stubs, Eduardo Habkost, 2012/12/05
- [Qemu-devel] [PATCH 4/8] libqemustub: sysbus_get_default() stub, Eduardo Habkost, 2012/12/05
- [Qemu-devel] [PATCH 5/8] qdev: Coding style fixes, Eduardo Habkost, 2012/12/05
- [Qemu-devel] [PATCH 8/8] qom: Make CPU a child of DeviceState, Eduardo Habkost, 2012/12/05
- Re: [Qemu-devel] [PATCH 8/8] qom: Make CPU a child of DeviceState, Andreas Färber, 2012/12/12
- Re: [Qemu-devel] [PATCH 8/8] qom: Make CPU a child of DeviceState, Eduardo Habkost, 2012/12/12
- Re: [Qemu-devel] [PATCH 8/8] qom: Make CPU a child of DeviceState, Igor Mammedov, 2012/12/12
- Re: [Qemu-devel] [PATCH 8/8] qom: Make CPU a child of DeviceState, Eduardo Habkost, 2012/12/12
- Re: [Qemu-devel] [PATCH 8/8] qom: Make CPU a child of DeviceState,
Andreas Färber <=
- Re: [Qemu-devel] [PATCH 8/8] qom: Make CPU a child of DeviceState, Paolo Bonzini, 2012/12/14
- Re: [Qemu-devel] [PATCH 8/8] qom: Make CPU a child of DeviceState, Andreas Färber, 2012/12/14
- Re: [Qemu-devel] [PATCH 8/8] qom: Make CPU a child of DeviceState, Eduardo Habkost, 2012/12/14
[Qemu-devel] [PATCH 7/8] include qdev code into *-user, too, Eduardo Habkost, 2012/12/05
[Qemu-devel] [PATCH 3/8] libqemustub: vmstate register/unregister stubs, Eduardo Habkost, 2012/12/05
[Qemu-devel] [PATCH 1/8] Move -I$(SRC_PATH)/include compiler flag to Makefile.objs, Eduardo Habkost, 2012/12/05
[Qemu-devel] [PATCH 6/8] qdev-properties.c: Separate core from the code used only by qemu-system-*, Eduardo Habkost, 2012/12/05