On 14/07/2017 04:14, Fam Zheng wrote: > v4: Add a pointer type param to DEFINE_PROP_LINK, don't change pointer types > to > "Object *". [Paolo] > > v3: Include Igor's patch, and fix virtio-crypto too. > Always use qdev_prop_allow_set_link_before_realize and > OBJ_PROP_LINK_UNREF_ON_RELEASE. > Include as many applicable devices as possible and some more clean-ups. > There are still more left but they use uncommon check and flags > parameters, > it's better to take care of them in following batches. > > v2: Create a new header for link properties. [Paolo] > Don't wrap, use PropertyInfo.create() (much better diffstat, yay!). > [Paolo] > > Link properties of devices created with object_property_add_link() are not > reflected in HMP "info qtree". For example, whether a virtio-blk device has an > iothread (i.e. has enabled data plane) can not be introspected easily. > > Introduce a new type of qdev property macro to fix that. > > Fam Zheng (19): > qdev: Introduce PropertyInfo.create > qdev: Introduce DEFINE_PROP_LINK > qmp: Use ObjectProperty.type if present > qdev: Add const qualifier to PropertyInfo definitions > virtio-blk: Convert to DEFINE_PROP_LINK > virtio-scsi: Convert to DEFINE_PROP_LINK > virtio-rng: Convert to DEFINE_PROP_LINK > virtio-crypto: Convert to DEFINE_PROP_LINK > dimm: Convert to DEFINE_PROP_LINK > ivshmem: Convert to DEFINE_PROP_LINK > armv7m: Convert bitband.source-mamory to DEFINE_PROP_LINK > armv7m: Convert armv7m.memory to DEFINE_PROP_LINK > gicv3: Convert to DEFINE_PROP_LINK > xlnx_zynqmp: Convert to DEFINE_PROP_LINK > xilinx_axienet: Convert to DEFINE_PROP_LINK > xilinx_axidma: Convert to DEFINE_PROP_LINK > mips_cmgcr: Convert to DEFINE_PROP_LINK > cpu: Convert to DEFINE_PROP_LINK > spapr_rng: Convert to DEFINE_PROP_LINK > > Igor Mammedov (1): > qom: enforce readonly nature of link's check callback > > exec.c | 27 +++++++++-------- > hw/arm/armv7m.c | 16 +++------- > hw/arm/xlnx-zynqmp.c | 7 ++--- > hw/block/virtio-blk.c | 6 ++-- > hw/core/qdev-properties-system.c | 8 ++--- > hw/core/qdev-properties.c | 63 > ++++++++++++++++++++++++++-------------- > hw/core/qdev.c | 31 ++++++++++++-------- > hw/display/xlnx_dp.c | 2 +- > hw/dma/xilinx_axidma.c | 16 +++------- > hw/intc/arm_gicv3_its_kvm.c | 19 +++++------- > hw/ipmi/ipmi.c | 2 +- > hw/mem/pc-dimm.c | 30 +++++-------------- > hw/misc/ivshmem.c | 24 +++++---------- > hw/misc/mips_cmgcr.c | 16 +++------- > hw/net/xilinx_axienet.c | 16 +++------- > hw/ppc/spapr_rng.c | 8 ++--- > hw/s390x/css.c | 4 +-- > hw/s390x/s390-pci-bus.c | 2 +- > hw/s390x/virtio-ccw.c | 9 ------ > hw/scsi/virtio-scsi.c | 13 ++------- > hw/virtio/virtio-crypto-pci.c | 2 -- > hw/virtio/virtio-crypto.c | 27 +++++------------ > hw/virtio/virtio-pci.c | 6 ---- > hw/virtio/virtio-rng.c | 12 +------- > include/hw/qdev-core.h | 6 ++-- > include/hw/qdev-properties.h | 62 ++++++++++++++++++++++----------------- > include/hw/s390x/css.h | 4 +-- > include/qom/cpu.h | 1 + > include/qom/object.h | 6 ++-- > qmp.c | 5 ++-- > qom/cpu.c | 1 + > qom/object.c | 8 ++--- > target/i386/cpu.c | 2 +- > target/ppc/translate_init.c | 2 +- > 34 files changed, 193 insertions(+), 270 deletions(-) >
I'm leaving the ARM patches to Peter and respinning my pull request with the others. Thanks, Paolo