From: Igor Mammedov <imammedo@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: qemu-devel@nongnu.org, afaerber@suse.de, armbru@redhat.com
Subject: Re: [Qemu-devel] [PATCH 00/12] qdev: cleanup legacy properties
Date: Wed, 5 Feb 2014 12:12:28 +0100 [thread overview]
Message-ID: <20140205121228.76401888@nial.usersys.redhat.com> (raw)
In-Reply-To: <1391087394-17914-1-git-send-email-pbonzini@redhat.com>
On Thu, 30 Jan 2014 14:09:42 +0100
Paolo Bonzini <pbonzini@redhat.com> wrote:
> The conversion of qdev to QOM brought with it legacy properties.
> Legacy properties are always have a string type (the accessors always
> call visit_type_str), and were used to support -device syntax while
> keeping QOM properties strongly typed. For example, an hex8 property
> is registered twice, once as an integer-typed property and once as a
> legacy property that enforces base 16 for its input.
>
> However, when introducing legacy properties, the hex8/32/64 had a small
> change applied: the previously-optional "0x" prefix became mandatory,
> and an error was raised if you omitted it. This was in preparation
> for making the legacy properties read-only, and changing the hex8/32/64
> properties to uint8/32/64. This series does exactly this in patches 1-6.
>
> On the printing side, legacy properties are used by "info qtree" to
> tweak its presentation: strings are quoted, hex8/32/64 properties are
> printed in hexadecimal, and so on. In this series, patches 7-10 add a
> "human" mode to StringOutputVisitors. This mode employs a slightly
> different presentation, more suitable for human consumption, but its
> output cannot be sent back to a StringInputVisitor. The main change
> is that numbers are printed in both decimal and 0x-prefixed hexadecimal.
> This lets us drop hex8/32/64 property types.
>
> Finally, patches 11-12 clean up the type names used for properties.
> These are always QAPI names, so that in the future QOM introspection
> can piggyback on QAPI introspection for describing property types.
>
> Paolo Bonzini (12):
> qapi: add size parser to StringInputVisitor
> qdev: sizes are now parsed by StringInputVisitor
> qdev: remove legacy parsers for hex8/32/64
> qdev: legacy properties are now read-only
> qdev: legacy properties are just strings
> qdev: inline qdev_prop_parse
> qapi: add human mode to StringOutputVisitor
> qdev: use human mode in "info qtree"
> qdev: remove most legacy printers
> qdev: remove hex8/32/64 property types
> qdev: add enum property types to QAPI schema
> qdev: use QAPI type names for properties
>
> hw/audio/adlib.c | 2 +-
> hw/audio/cs4231a.c | 2 +-
> hw/audio/gus.c | 2 +-
> hw/audio/pcspk.c | 2 +-
> hw/audio/sb16.c | 4 +-
> hw/block/fdc.c | 2 +-
> hw/char/debugcon.c | 4 +-
> hw/char/parallel.c | 2 +-
> hw/char/serial-isa.c | 2 +-
> hw/core/qdev-properties-system.c | 12 ++-
> hw/core/qdev-properties.c | 204 +++--------------------------------
> hw/core/qdev.c | 38 +------
> hw/display/g364fb.c | 2 +-
> hw/display/tcx.c | 4 +-
> hw/dma/i82374.c | 2 +-
> hw/dma/sun4m_iommu.c | 2 +-
> hw/i386/kvm/i8254.c | 8 +-
> hw/ide/isa.c | 4 +-
> hw/ide/qdev.c | 2 +-
> hw/intc/i8259_common.c | 6 +-
> hw/isa/pc87312.c | 2 +-
> hw/misc/applesmc.c | 2 +-
> hw/misc/debugexit.c | 4 +-
> hw/misc/eccmemctl.c | 2 +-
> hw/net/ne2000-isa.c | 2 +-
> hw/nvram/fw_cfg.c | 4 +-
> hw/ppc/spapr_pci.c | 16 +--
> hw/scsi/megasas.c | 2 +-
> hw/scsi/scsi-disk.c | 6 +-
> hw/sd/sdhci.c | 4 +-
> hw/timer/i8254.c | 2 +-
> hw/timer/m48t59.c | 4 +-
> hw/timer/mc146818rtc.c | 14 +--
> hw/usb/host-libusb.c | 4 +-
> hw/virtio/virtio-pci.c | 6 +-
> include/hw/block/block.h | 6 --
> include/hw/qdev-core.h | 1 -
> include/hw/qdev-dma.h | 2 +-
> include/hw/qdev-properties.h | 11 --
> include/qapi/string-output-visitor.h | 2 +-
> include/qemu-common.h | 8 --
> include/qom/object.h | 3 +-
> qapi-schema.json | 58 ++++++++++
> qapi/string-input-visitor.c | 24 +++++
> qapi/string-output-visitor.c | 55 +++++++++-
> qdev-monitor.c | 6 +-
> qom/object.c | 4 +-
> tests/test-string-output-visitor.c | 2 +-
> tests/test-visitor-serialization.c | 2 +-
> 49 files changed, 235 insertions(+), 329 deletions(-)
>
with fixed checkpatch error in 13/12
Reviewed-By: Igor Mammedov <imammedo@redhat.com>
next prev parent reply other threads:[~2014-02-05 11:12 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-30 13:09 [Qemu-devel] [PATCH 00/12] qdev: cleanup legacy properties Paolo Bonzini
2014-01-30 13:09 ` [Qemu-devel] [PATCH 01/12] qapi: add size parser to StringInputVisitor Paolo Bonzini
2014-01-30 13:45 ` Eric Blake
2014-02-05 17:13 ` Andreas Färber
2014-02-05 17:18 ` Paolo Bonzini
2014-02-05 17:30 ` Eric Blake
2014-01-30 13:09 ` [Qemu-devel] [PATCH 02/12] qdev: sizes are now parsed by StringInputVisitor Paolo Bonzini
2014-01-30 13:46 ` Eric Blake
2014-01-30 13:09 ` [Qemu-devel] [PATCH 03/12] qdev: remove legacy parsers for hex8/32/64 Paolo Bonzini
2014-01-30 13:46 ` Eric Blake
2014-01-30 13:09 ` [Qemu-devel] [PATCH 04/12] qdev: legacy properties are now read-only Paolo Bonzini
2014-01-30 13:49 ` Eric Blake
2014-01-30 13:09 ` [Qemu-devel] [PATCH 05/12] qdev: legacy properties are just strings Paolo Bonzini
2014-01-30 13:52 ` Eric Blake
2014-01-30 13:09 ` [Qemu-devel] [PATCH 06/12] qdev: inline qdev_prop_parse Paolo Bonzini
2014-01-30 13:53 ` Eric Blake
2014-01-30 13:09 ` [Qemu-devel] [PATCH 07/12] qapi: add human mode to StringOutputVisitor Paolo Bonzini
2014-01-30 14:09 ` Eric Blake
2014-01-30 14:12 ` Paolo Bonzini
2014-01-30 14:20 ` Eric Blake
2014-02-10 17:57 ` Andreas Färber
2014-01-30 13:09 ` [Qemu-devel] [PATCH 08/12] qdev: use human mode in "info qtree" Paolo Bonzini
2014-01-30 15:01 ` Eric Blake
2014-01-30 13:09 ` [Qemu-devel] [PATCH 09/12] qdev: remove most legacy printers Paolo Bonzini
2014-01-30 15:03 ` Eric Blake
2014-01-30 13:09 ` [Qemu-devel] [PATCH 10/12] qdev: remove hex8/32/64 property types Paolo Bonzini
2014-01-30 15:17 ` Eric Blake
2014-01-30 13:09 ` [Qemu-devel] [PATCH 11/12] qdev: add enum property types to QAPI schema Paolo Bonzini
2014-01-30 15:22 ` Eric Blake
2014-01-31 8:05 ` Markus Armbruster
2014-01-31 11:26 ` Paolo Bonzini
2014-01-30 13:09 ` [Qemu-devel] [PATCH 12/12] qdev: use QAPI type names for properties Paolo Bonzini
2014-01-30 15:26 ` Eric Blake
2014-01-30 16:42 ` [Qemu-devel] [PATCH 13/12] qapi: refine human printing of sizes Paolo Bonzini
2014-01-30 20:16 ` Eric Blake
2014-02-05 11:10 ` Igor Mammedov
2014-02-05 11:12 ` Igor Mammedov [this message]
2014-02-05 16:36 ` [Qemu-devel] [PATCH 00/12] qdev: cleanup legacy properties Paolo Bonzini
2014-02-05 16:39 ` 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=20140205121228.76401888@nial.usersys.redhat.com \
--to=imammedo@redhat.com \
--cc=afaerber@suse.de \
--cc=armbru@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 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).