From: Anthony Liguori <aliguori@us.ibm.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
Peter Maydell <peter.maydell@linaro.org>,
Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>,
Jan Kiszka <jan.kiszka@siemens.com>,
Markus Armbruster <armbru@redhat.com>,
qemu-devel@nongnu.org, Luiz Capitulino <lcapitulino@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 00/18] qom: dynamic properties and composition tree
Date: Wed, 30 Nov 2011 16:54:24 -0600 [thread overview]
Message-ID: <4ED6B420.9040905@us.ibm.com> (raw)
In-Reply-To: <1322687028-29714-1-git-send-email-aliguori@us.ibm.com>
On 11/30/2011 03:03 PM, Anthony Liguori wrote:
> This is a follow up to my previous series to get us started in the QOM
> direction. A few things are different this time around. Most notably:
>
> 1) Devices no longer have names. Instead, path names are always used to
> identify devices.
>
> 2) In order to support (1), dynamic properties are now supported.
>
> 3) The concept of a "root device" has been introduced. The root device is
> roughly modelling the motherboard of a machine. This type is a container
> type and it's best to think of it as something like a PCB board I guess.
>
> To try it out, here's an example session:
>
> Launch:
>
> anthony@titi:~/build/qemu$ x86_64-softmmu/qemu-system-x86_64 -hda ~/images/linux.img -snapshot -device virtio-balloon-pci,id=foo -qmp unix:/tmp/server.sock,server,nowait
>
> Explore the object model:
>
> anthony@titi:~/git/qemu/QMP$ ./qom-list /
> peripheral/
> i440fx/
> anthony@titi:~/git/qemu/QMP$ ./qom-list /i440fx/
> piix3/
> anthony@titi:~/git/qemu/QMP$ ./qom-list /i440fx/piix3
> rtc/
> anthony@titi:~/git/qemu/QMP$ ./qom-list /i440fx/piix3/rtc
> date
> base_year
> anthony@titi:~/git/qemu/QMP$ ./qom-get /i440fx/piix3/rtc.date
> tm_sec: 33
> tm_hour: 21
> tm_mday: 30
> tm_year: 111
> tm_mon: 10
> tm_min: 2
> anthony@titi:~/git/qemu/QMP$ ./qom-get rtc.date
> tm_sec: 38
> tm_hour: 21
> tm_mday: 30
> tm_year: 111
> tm_mon: 10
> tm_min: 2
It's probably worth adding that this is the short form. The full path for rtc
is /i440fx/piix4/rtc. If user did -device virtio-pci-blk,id=rtc, then that
device would have a full path for /peripheral/rtc.
If you did that, then just saying 'rtc.date' would through an error because the
relative path 'rtc' is ambiguous.
The purpose of this is to give stable, unambiguous paths while still making it
easy to use for a command line user.
Regards,
Anthony Liguori
next prev parent reply other threads:[~2011-11-30 22:54 UTC|newest]
Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-30 21:03 [Qemu-devel] [PATCH 00/18] qom: dynamic properties and composition tree Anthony Liguori
2011-11-30 21:03 ` [Qemu-devel] [PATCH 01/18] qom: add new dynamic property infrastructure based on Visitors Anthony Liguori
2011-12-01 8:19 ` Stefan Hajnoczi
2011-12-01 13:30 ` Anthony Liguori
2011-12-01 15:52 ` Kevin Wolf
2011-12-02 1:08 ` Anthony Liguori
2011-12-02 9:43 ` Kevin Wolf
2011-12-02 18:47 ` Anthony Liguori
2011-12-05 9:16 ` Kevin Wolf
2011-11-30 21:03 ` [Qemu-devel] [PATCH 02/18] qom: register legacy properties as new style properties Anthony Liguori
2011-12-01 8:33 ` Stefan Hajnoczi
2011-12-01 13:31 ` Anthony Liguori
2011-12-01 15:51 ` Gerd Hoffmann
2011-12-02 1:03 ` Anthony Liguori
2011-12-02 12:19 ` Gerd Hoffmann
2011-12-01 16:14 ` Kevin Wolf
2011-12-02 1:05 ` Anthony Liguori
2011-11-30 21:03 ` [Qemu-devel] [PATCH 03/18] qom: introduce root device Anthony Liguori
2011-11-30 21:03 ` [Qemu-devel] [PATCH 04/18] qdev: provide an interface to return canonical path from root Anthony Liguori
2011-11-30 21:03 ` [Qemu-devel] [PATCH 05/18] qdev: provide a path resolution Anthony Liguori
2011-12-01 10:24 ` Stefan Hajnoczi
2011-12-01 13:34 ` Anthony Liguori
2011-11-30 21:03 ` [Qemu-devel] [PATCH 06/18] qom: add child properties (composition) Anthony Liguori
2011-12-02 11:54 ` Kevin Wolf
2011-12-02 14:54 ` Anthony Liguori
2011-11-30 21:03 ` [Qemu-devel] [PATCH 07/18] qom: add link properties Anthony Liguori
2011-12-01 10:55 ` Stefan Hajnoczi
2011-12-01 13:40 ` Anthony Liguori
2011-12-01 11:21 ` Avi Kivity
2011-12-01 11:35 ` Stefan Hajnoczi
2011-12-01 12:34 ` Avi Kivity
2011-12-01 13:47 ` Anthony Liguori
2011-12-01 13:50 ` Avi Kivity
2011-12-01 14:56 ` Anthony Liguori
2011-12-01 13:44 ` Anthony Liguori
2011-12-01 14:03 ` Avi Kivity
2011-12-01 14:53 ` Anthony Liguori
2011-12-01 15:00 ` Avi Kivity
2011-12-01 15:10 ` Anthony Liguori
2011-12-01 15:03 ` Gerd Hoffmann
2011-12-01 15:13 ` Avi Kivity
2011-12-01 15:14 ` Anthony Liguori
2011-12-02 12:15 ` Kevin Wolf
2011-12-02 14:57 ` Anthony Liguori
2011-11-30 21:03 ` [Qemu-devel] [PATCH 08/18] qapi: allow a 'gen' key to suppress code generation Anthony Liguori
2011-11-30 21:03 ` [Qemu-devel] [PATCH 09/18] qmp: add qom-list command Anthony Liguori
2011-11-30 21:03 ` [Qemu-devel] [PATCH 10/18] qom: qom_{get,set} monitor commands Anthony Liguori
2011-12-01 11:04 ` Stefan Hajnoczi
2011-12-01 13:35 ` Anthony Liguori
2011-11-30 21:03 ` [Qemu-devel] [PATCH 11/18] qdev: add explicitly named devices to the root complex Anthony Liguori
2011-11-30 21:03 ` [Qemu-devel] [PATCH 12/18] dev: add an anonymous peripheral container Anthony Liguori
2011-11-30 21:03 ` [Qemu-devel] [PATCH 13/18] rtc: make piix3 set the rtc as a child Anthony Liguori
2011-12-01 11:07 ` Stefan Hajnoczi
2011-12-01 13:35 ` Anthony Liguori
2011-11-30 21:03 ` [Qemu-devel] [PATCH 14/18] rtc: add a dynamic property for retrieving the date Anthony Liguori
2011-12-01 15:46 ` Gerd Hoffmann
2011-12-02 1:19 ` Anthony Liguori
2011-12-02 12:35 ` Gerd Hoffmann
2011-12-02 13:20 ` Anthony Liguori
2011-12-02 13:34 ` Gerd Hoffmann
2011-12-02 15:05 ` Anthony Liguori
2011-11-30 21:03 ` [Qemu-devel] [PATCH 15/18] qom: optimize qdev_get_canonical_path using a parent link Anthony Liguori
2011-12-01 11:21 ` Stefan Hajnoczi
2011-12-01 13:38 ` Anthony Liguori
2011-11-30 21:03 ` [Qemu-devel] [PATCH 16/18] Make qmp.py easier to use Anthony Liguori
2011-11-30 21:03 ` [Qemu-devel] [PATCH 17/18] Add test tools Anthony Liguori
2011-12-01 11:26 ` Stefan Hajnoczi
2011-12-01 13:39 ` Anthony Liguori
2011-12-01 14:03 ` Stefan Hajnoczi
2011-11-30 21:03 ` [Qemu-devel] [PATCH 18/18] qdev: split out QOM functions to separate files Anthony Liguori
2011-11-30 22:54 ` Anthony Liguori [this message]
2011-12-01 14:20 ` [Qemu-devel] [PATCH 00/18] qom: dynamic properties and composition tree Avi Kivity
2011-12-01 14:42 ` Anthony Liguori
2011-12-01 14:48 ` Avi Kivity
2011-12-01 15:01 ` Anthony Liguori
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=4ED6B420.9040905@us.ibm.com \
--to=aliguori@us.ibm.com \
--cc=armbru@redhat.com \
--cc=jan.kiszka@siemens.com \
--cc=kwolf@redhat.com \
--cc=lcapitulino@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@linux.vnet.ibm.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 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).