qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: qemu-devel <qemu-devel@nongnu.org>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>
Subject: Re: [Qemu-devel] KVM call agenda for Tuesday 3
Date: Mon, 02 Jan 2012 19:12:03 -0600	[thread overview]
Message-ID: <4F0255E3.5030402@codemonkey.ws> (raw)
In-Reply-To: <4F01BB20.7020200@redhat.com>

On 01/02/2012 08:11 AM, Paolo Bonzini wrote:
> On 01/02/2012 02:46 PM, Andreas Färber wrote:
>> QOM: If Anthony is available, I'd be interested in hearing an update on
>> the roadmap. In particular,
>> * when can we expect to be able to model SoCs rather than CPUs? Will
>> this affect command line usage - are we going to have '-device
>> ti-tms570' rather than '-cpu cortex-r4' then, or -cpu overriding the
>> container's default?
>> * are the announced remaining 3 series going to touch CPUState? a) Are
>> CPU features being refactored (standardized) for QOM or should we copy
>> current x86 code for controlling ARM FPU? b) Any plans for adding
>> inheritence, e.g., for CPU_COMMON and CPU reset?
>
> Also, Anthony, what are the remaining 3 series exactly? :)

2/4 is on the list.  It's adding the type infrastructure such that when you do 
-device e1000, as far as QOM is concerned you're creating an E1000 object which 
inherits from a PCIDevice, etc.

But device creation still more or less happens with qdev.  You couldn't directly 
create a useful E1000 device by doing object_new(TYPE_E1000).

I just effectively squashed 3/4 and 4/4 into a single series.  This new series 
(now 3/4) makes it so you can do object_new(TYPE_E1000).  It basically reduces 
qdev to just the management of bus relationships.

The new 4/4 series converts BusState to QOM.  The effect is that a BusState is 
an Object (but not a device).  The children are shown as links so the entire 
qdev tree is now just a subset of the QOM graph.

I think that's it for infrastructure series.  After that, the two areas I'm 
interested in focusing on are converting CPUs to qdev and then refactoring the 
pc machine init code to just essentially be a thin wrapper for object_new(TYPE_PC).

> In particular, we should decide as soon as possible about moving features up
> from Device to Object or to new intermediate classes (e.g. IntrospectableObject
> for properties?),

I think I move properties from Device to Object in either 2/4 or 3/4.  Anyway, 
that's my plan.

> because I would like to start dogfooding QOM.

Cool!

> Right now, we
> have legacy properties but qdev functions still poke directly into the structs
> rather than using them.

Yeah, I had some concerns about legacy properties before Christmas but I haven't 
fully context switched back in yet.  I'll try to remember what they were and 
send a note out.

>> * what's the effect on VMState? Will VMState continue to coexist with
>> QOM, or does QOM replace VMState at some point? Is it worth introducing
>> new size mechanisms now or should we postpone SD/AHCI migration until
>> QOM is merged?
>
> I think no. Postponing new device models (virtio-scsi) might make some sense,

I don't think postponing is really necessary.  Rebasing really isn't all that 
difficult as it turns out.  I would rather we take our time reviewing things and 
not rush into a new infrastructure.

> but VMState is definitely going to be with us for some time---at least it's not
> disappearing soon enough that we should halt any development in that area.

Yeah, as I mentioned in my other note, I think it's more or less orthogonal to QOM.

Regards,

Anthony Liguori

> Paolo
>

  reply	other threads:[~2012-01-03  1:12 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-02 12:09 [Qemu-devel] KVM call agenda for Tuesday 3 Juan Quintela
2012-01-02 13:46 ` Andreas Färber
2012-01-02 14:11   ` Paolo Bonzini
2012-01-03  1:12     ` Anthony Liguori [this message]
2012-01-03  8:54       ` Paolo Bonzini
2012-01-02 15:54   ` Peter Maydell
2012-01-03  1:14     ` Anthony Liguori
2012-01-03 10:26       ` Peter Maydell
2012-01-03 12:07         ` Alex Bradbury
2012-01-03 13:37         ` Anthony Liguori
2012-01-03 13:57           ` Peter Maydell
2012-01-03 14:02             ` Anthony Liguori
2012-01-03 14:13               ` Peter Maydell
2012-01-03  1:04   ` Anthony Liguori
2012-01-03 13:52     ` Andreas Färber
2012-01-03 13:59       ` Anthony Liguori
2012-01-03  8:33 ` Stefan Hajnoczi
2012-01-03 12:15   ` Dor Laor
2012-01-03 13:12     ` Stefan Hajnoczi
2012-01-03 14:10       ` Andreas Färber
2012-01-03 14:30       ` Vadim Rozenfeld
2012-01-04  2:47       ` Cao,Bing Bu
2012-01-04 11:25         ` Stefan Hajnoczi

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=4F0255E3.5030402@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=kvm@vger.kernel.org \
    --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 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).