[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 00/12] qdev: cleanup legacy properties
From: |
Igor Mammedov |
Subject: |
Re: [Qemu-devel] [PATCH 00/12] qdev: cleanup legacy properties |
Date: |
Wed, 5 Feb 2014 12:12:28 +0100 |
On Thu, 30 Jan 2014 14:09:42 +0100
Paolo Bonzini <address@hidden> 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 <address@hidden>
- Re: [Qemu-devel] [PATCH 00/12] qdev: cleanup legacy properties,
Igor Mammedov <=