From: "Andreas Färber" <afaerber@suse.de>
To: Eduardo Habkost <ehabkost@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [RFC qom-cpu 03/15] target-i386: Update CPU to QOM realizefn
Date: Wed, 16 Jan 2013 23:52:47 +0100 [thread overview]
Message-ID: <50F72F3F.5060908@suse.de> (raw)
In-Reply-To: <20130116160424.GH20133@otherpad.lan.raisama.net>
Am 16.01.2013 17:04, schrieb Eduardo Habkost:
> On Wed, Jan 16, 2013 at 06:32:48AM +0100, Andreas Färber wrote:
> [...]
>> @@ -2247,6 +2247,9 @@ static void x86_cpu_common_class_init(ObjectClass *oc, void *data)
>> {
>> X86CPUClass *xcc = X86_CPU_CLASS(oc);
>> CPUClass *cc = CPU_CLASS(oc);
>> + DeviceClass *dc = DEVICE_CLASS(oc);
>> +
>> + dc->realize = x86_cpu_realizefn;
>
> The DeviceClass documenation says:
>
> "Any type may override the @realize and/or @unrealize callbacks but
> needs to call (and thus save) the parent type's implementation if so
> desired."
>
> Why are you not following it?
"if so desired" - I didn't desire or need to call code that calls an
initfn that no longer exists after this patch. Same as the ISADevice
conversion series did not unnecessarily call the DeviceClass-level
backwards-compatibility realizefn: to save time-consuming
...Class::parent_realizefn field additions and to not in the end call
code that doesn't NULL-check ...DeviceClass::init. That's qdev's old
"leaf type" concept mentioned in the same documentation.
I mentioned in the cover letter that this needs to be changed once a
CPUClass-level realizefn is introduced. I could introduce a no-op
realizefn there and do the regular store+call.
Note that wherever we set realized = true on CPUs, we need to test and
re-review for further unchecked uses of parent_bus. It has been pushed
to qom-cpu-realize branch for anyone that wants to play with the latest
version.
Andreas
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
next prev parent reply other threads:[~2013-01-16 22:53 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-16 5:32 [Qemu-devel] [RFC qom-cpu 00/15] CPUState QOM realizefn support Andreas Färber
2013-01-16 5:32 ` [Qemu-devel] [RFC qom-cpu 01/15] target-alpha: Update CPU to QOM realizefn Andreas Färber
2013-01-16 5:32 ` [Qemu-devel] [RFC qom-cpu 02/15] target-arm: " Andreas Färber
2013-01-16 15:52 ` Eduardo Habkost
2013-01-16 22:37 ` Andreas Färber
2013-01-16 5:32 ` [Qemu-devel] [RFC qom-cpu 03/15] target-i386: " Andreas Färber
2013-01-16 13:12 ` Igor Mammedov
2013-01-16 16:04 ` Eduardo Habkost
2013-01-16 22:52 ` Andreas Färber [this message]
2013-01-16 23:43 ` Eduardo Habkost
2013-01-17 8:03 ` Andreas Färber
2013-01-17 12:58 ` Eduardo Habkost
2013-01-16 5:32 ` [Qemu-devel] [RFC qom-cpu 04/15] target-openrisc: " Andreas Färber
2013-01-16 5:32 ` [Qemu-devel] [RFC qom-cpu 05/15] target-ppc: " Andreas Färber
2013-01-16 5:32 ` [Qemu-devel] [RFC qom-cpu 06/15] target-cris: Introduce QOM realizefn for CRISCPU Andreas Färber
2013-01-16 5:32 ` [Qemu-devel] [RFC qom-cpu 07/15] target-lm32: Introduce QOM realizefn for LM32CPU Andreas Färber
2013-01-16 5:32 ` [Qemu-devel] [RFC qom-cpu 08/15] target-m68k: Introduce QOM realizefn for M68kCPU Andreas Färber
2013-01-16 5:32 ` [Qemu-devel] [RFC qom-cpu 09/15] target-microblaze: Introduce QOM realizefn for MicroBlazeCPU Andreas Färber
2013-01-16 5:32 ` [Qemu-devel] [RFC qom-cpu 10/15] target-mips: Introduce QOM realizefn for MIPSCPU Andreas Färber
2013-01-16 5:32 ` [Qemu-devel] [RFC qom-cpu 11/15] target-s390x: Introduce QOM realizefn for S390CPU Andreas Färber
2013-01-16 5:32 ` [Qemu-devel] [RFC qom-cpu 12/15] target-sh4: Introduce QOM realizefn for SuperHCPU Andreas Färber
2013-01-16 5:32 ` [Qemu-devel] [RFC qom-cpu 13/15] target-sparc: Introduce QOM realizefn for SPARCCPU Andreas Färber
2013-01-16 5:32 ` [Qemu-devel] [RFC qom-cpu 14/15] target-unicore32: Introduce QOM realizefn for UniCore32CPU Andreas Färber
2013-01-16 12:08 ` guanxuetao
2013-01-16 5:33 ` [Qemu-devel] [RFC qom-cpu 15/15] target-xtensa: Introduce QOM realizefn for XtensaCPU 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=50F72F3F.5060908@suse.de \
--to=afaerber@suse.de \
--cc=ehabkost@redhat.com \
--cc=imammedo@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).