Re: [Qemu-devel] [PATCH 0/6] qdev class properties + abstract class support on device-list-properties
On Tue, Oct 18, 2016 at 12:20:09AM +0200, Andreas Färber wrote: > Am 17.10.2016 um 23:04 schrieb Eduardo Habkost: > > On Tue, Oct 11, 2016 at 05:41:13PM -0300, Eduardo Habkost wrote: > >> Eduardo Habkost (6): > >> qdev: qdev_class_set_props() function > > s/qdev_/device_/? I used qdev_ because all the rest of the static property API uses qdev_, and I considered the static property system legacy qdev stuff. But it looks like there may be opportunities to make the static property system more QOM-like and more useful to QOM code. I will rename it to device_class_set_props() and send v2. Thanks! -- Eduardo
Re: [Qemu-devel] [PATCH 0/6] qdev class properties + abstract class support on device-list-properties
Am 17.10.2016 um 23:04 schrieb Eduardo Habkost: > On Tue, Oct 11, 2016 at 05:41:13PM -0300, Eduardo Habkost wrote: >> Eduardo Habkost (6): >> qdev: qdev_class_set_props() function s/qdev_/device_/? Regards, Andreas >> qdev: Extract property-default code to qdev_property_set_to_default() >> qdev: Register static properties as class properties >> qom: object_class_property_iter_init() function >> qmp: Support abstract classes on device-list-properties >> qdev: Warning about using object_class_property_add() in new code -- SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg)
Re: [Qemu-devel] [PATCH 0/6] qdev class properties + abstract class support on device-list-properties
Ping? On Tue, Oct 11, 2016 at 05:41:13PM -0300, Eduardo Habkost wrote: > This series allows abstract classes to be used on > device-list-properties, which will return all class properties > registered for the class. > > Patches 1-3 change qdev to register all static properties as > class properties instead of instance properties. > > Patches 4-5 change device-list-properties so it can return the > list of properties for abstract classes. > > Patch 6 just adds a warning to people to not use > qdev_property_add_static() in new code. > > The series is based on the "tests: A few check-qom-proplist > fixes" series I have submitted earlier. A git branch containing > this series can be found at: > https://github.com/ehabkost/qemu-hacks.git > work/device-list-abstract-properties > > Eduardo Habkost (6): > qdev: qdev_class_set_props() function > qdev: Extract property-default code to qdev_property_set_to_default() > qdev: Register static properties as class properties > qom: object_class_property_iter_init() function > qmp: Support abstract classes on device-list-properties > qdev: Warning about using object_class_property_add() in new code > > hw/9pfs/virtio-9p-device.c | 2 +- > hw/acpi/piix4.c | 2 +- > hw/arm/armv7m.c | 2 +- > hw/arm/bcm2836.c| 2 +- > hw/arm/integratorcp.c | 2 +- > hw/arm/musicpal.c | 2 +- > hw/arm/pxa2xx.c | 4 +- > hw/arm/pxa2xx_gpio.c| 2 +- > hw/arm/spitz.c | 2 +- > hw/arm/stm32f205_soc.c | 2 +- > hw/arm/strongarm.c | 2 +- > hw/arm/xlnx-zynqmp.c| 2 +- > hw/audio/ac97.c | 2 +- > hw/audio/adlib.c| 2 +- > hw/audio/cs4231.c | 2 +- > hw/audio/cs4231a.c | 2 +- > hw/audio/gus.c | 2 +- > hw/audio/hda-codec.c| 2 +- > hw/audio/intel-hda.c| 4 +- > hw/audio/marvell_88w8618.c | 2 +- > hw/audio/pcspk.c| 2 +- > hw/audio/pl041.c| 2 +- > hw/audio/sb16.c | 2 +- > hw/block/fdc.c | 6 +- > hw/block/m25p80.c | 2 +- > hw/block/nand.c | 2 +- > hw/block/nvme.c | 2 +- > hw/block/onenand.c | 2 +- > hw/block/pflash_cfi01.c | 2 +- > hw/block/pflash_cfi02.c | 2 +- > hw/block/virtio-blk.c | 2 +- > hw/char/bcm2835_aux.c | 2 +- > hw/char/cadence_uart.c | 2 +- > hw/char/debugcon.c | 2 +- > hw/char/digic-uart.c| 2 +- > hw/char/escc.c | 2 +- > hw/char/etraxfs_ser.c | 2 +- > hw/char/exynos4210_uart.c | 2 +- > hw/char/grlib_apbuart.c | 2 +- > hw/char/imx_serial.c| 2 +- > hw/char/ipoctal232.c| 2 +- > hw/char/lm32_juart.c| 2 +- > hw/char/lm32_uart.c | 2 +- > hw/char/milkymist-uart.c| 2 +- > hw/char/parallel.c | 2 +- > hw/char/pl011.c | 2 +- > hw/char/sclpconsole-lm.c| 2 +- > hw/char/sclpconsole.c | 2 +- > hw/char/serial-isa.c| 2 +- > hw/char/serial-pci.c| 6 +- > hw/char/spapr_vty.c | 2 +- > hw/char/stm32f2xx_usart.c | 2 +- > hw/char/virtio-console.c| 2 +- > hw/char/virtio-serial-bus.c | 4 +- > hw/char/xilinx_uartlite.c | 2 +- > hw/core/generic-loader.c| 2 +- > hw/core/or-irq.c| 2 +- > hw/core/platform-bus.c | 2 +- > hw/core/qdev.c | 112 > ++-- > hw/cpu/a15mpcore.c | 2 +- > hw/cpu/a9mpcore.c | 2 +- > hw/cpu/arm11mpcore.c| 2 +- > hw/cpu/realview_mpcore.c| 2 +- > hw/display/bcm2835_fb.c | 2 +- > hw/display/cg3.c| 2 +- > hw/display/cirrus_vga.c | 4 +- > hw/display/g364fb.c | 2 +- > hw/display/milkymist-vgafb.c| 2 +- > hw/display/qxl.c| 2 +- > hw/display/tcx.c| 2 +- > hw/display/vga-isa.c| 2 +- > hw/display/vga-pci.c| 4 +- > hw/display/virtio-gpu-pci.c | 2 +- > hw/display/virtio-gpu.c | 2 +- > hw/display/virtio-vga.c | 2 +- > hw/display/vmware_vga.c | 2 +- > hw/dma/i82374.c | 2 +- > hw/dma/i8257.c | 2 +- > hw/dma/pl330.c | 2
Re: [Qemu-devel] [PATCH 0/6] qdev class properties + abstract class support on device-list-properties
On Tue, Oct 11, 2016 at 02:01:19PM -0700, no-re...@ec2-52-6-146-230.compute-1.amazonaws.com wrote: [...] > GTESTER tests/check-qom-proplist > Found prop 'bv' > ** > ERROR:/tmp/qemu-test/src/tests/check-qom-proplist.c:521:test_dummy_class_iterator: > code should not be reached > GTester: last random seed: R02Sb911b265d311a4134ab5cd16c99088a0 > GTESTER tests/test-qemu-opts This happens because the series depends on the "tests: A few check-qom-proplist fixes" series I have submitted earlier. If that series is applied first, this error won't be triggered. -- Eduardo
Re: [Qemu-devel] [PATCH 0/6] qdev class properties + abstract class support on device-list-properties
Hi, Your series failed automatic build test. Please find the testing commands and their output below. If you have docker installed, you can probably reproduce it locally. Message-id: 1476218479-3592-1-git-send-email-ehabk...@redhat.com Subject: [Qemu-devel] [PATCH 0/6] qdev class properties + abstract class support on device-list-properties Type: series === TEST SCRIPT BEGIN === #!/bin/bash set -e git submodule update --init dtc # Let docker tests dump environment info export SHOW_ENV=1 make J=8 docker-test-quick@centos6 make J=8 docker-test-mingw@fedora === TEST SCRIPT END === Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384 From https://github.com/patchew-project/qemu * [new tag] patchew/1476218479-3592-1-git-send-email-ehabk...@redhat.com -> patchew/1476218479-3592-1-git-send-email-ehabk...@redhat.com Switched to a new branch 'test' 9cf653a qdev: Warning about using object_class_property_add() in new code a682bb9 qmp: Support abstract classes on device-list-properties f36732c qom: object_class_property_iter_init() function dd1cae3 qdev: Register static properties as class properties cbe9b5b qdev: Extract property-default code to qdev_property_set_to_default() 1cdccf7 qdev: qdev_class_set_props() function === OUTPUT BEGIN === Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc' Cloning into 'dtc'... Submodule path 'dtc': checked out '65cc4d2748a2c2e6f27f1cf39e07a5dbabd80ebf' BUILD centos6 ARCHIVE qemu.tgz ARCHIVE dtc.tgz COPYRUNNER RUN test-quick in centos6 Packages installed: SDL-devel-1.2.14-7.el6_7.1.x86_64 ccache-3.1.6-2.el6.x86_64 epel-release-6-8.noarch gcc-4.4.7-17.el6.x86_64 git-1.7.1-4.el6_7.1.x86_64 glib2-devel-2.28.8-5.el6.x86_64 libfdt-devel-1.4.0-1.el6.x86_64 make-3.81-23.el6.x86_64 package g++ is not installed pixman-devel-0.32.8-1.el6.x86_64 tar-1.23-15.el6_8.x86_64 zlib-devel-1.2.3-29.el6.x86_64 Environment variables: PACKAGES=libfdt-devel ccache tar git make gcc g++ zlib-devel glib2-devel SDL-devel pixman-devel epel-release HOSTNAME=6328b0ad76ac TERM=xterm MAKEFLAGS= -j8 HISTSIZE=1000 J=8 USER=root CCACHE_DIR=/var/tmp/ccache EXTRA_CONFIGURE_OPTS= V= SHOW_ENV=1 MAIL=/var/spool/mail/root PATH=/usr/lib/ccache:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PWD=/ LANG=en_US.UTF-8 TARGET_LIST= HISTCONTROL=ignoredups SHLVL=1 HOME=/root TEST_DIR=/tmp/qemu-test LOGNAME=root LESSOPEN=||/usr/bin/lesspipe.sh %s FEATURES= dtc DEBUG= G_BROKEN_FILENAMES=1 CCACHE_HASHDIR= _=/usr/bin/env Configure options: --enable-werror --target-list=x86_64-softmmu,aarch64-softmmu --prefix=/var/tmp/qemu-build/install No C++ compiler available; disabling C++ specific optional code Install prefix/var/tmp/qemu-build/install BIOS directory/var/tmp/qemu-build/install/share/qemu binary directory /var/tmp/qemu-build/install/bin library directory /var/tmp/qemu-build/install/lib module directory /var/tmp/qemu-build/install/lib/qemu libexec directory /var/tmp/qemu-build/install/libexec include directory /var/tmp/qemu-build/install/include config directory /var/tmp/qemu-build/install/etc local state directory /var/tmp/qemu-build/install/var Manual directory /var/tmp/qemu-build/install/share/man ELF interp prefix /usr/gnemul/qemu-%M Source path /tmp/qemu-test/src C compilercc Host C compiler cc C++ compiler Objective-C compiler cc ARFLAGS rv CFLAGS-O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -g QEMU_CFLAGS -I/usr/include/pixman-1-pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -fPIE -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all LDFLAGS -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -pie -m64 -g make make install install pythonpython -B smbd /usr/sbin/smbd module supportno host CPU x86_64 host big endian no target list x86_64-softmmu aarch64-softmmu tcg debug enabled no gprof enabled no sparse enabledno strip binariesyes profiler no static build no pixmansystem SDL support yes (1.2.14) GTK support no GTK GL supportno VTE support no TLS priority NORMAL GNUTLS supportno GNUTLS rndno libgcrypt no libgcrypt kdf no nettleno nettle kdfno libtasn1 no curses supportno virgl support no curl support no mingw32 support no Audio drivers oss Block whitelist (rw) Block whitelist (ro) VirtFS supportno VNC
[Qemu-devel] [PATCH 0/6] qdev class properties + abstract class support on device-list-properties
This series allows abstract classes to be used on device-list-properties, which will return all class properties registered for the class. Patches 1-3 change qdev to register all static properties as class properties instead of instance properties. Patches 4-5 change device-list-properties so it can return the list of properties for abstract classes. Patch 6 just adds a warning to people to not use qdev_property_add_static() in new code. The series is based on the "tests: A few check-qom-proplist fixes" series I have submitted earlier. A git branch containing this series can be found at: https://github.com/ehabkost/qemu-hacks.git work/device-list-abstract-properties Eduardo Habkost (6): qdev: qdev_class_set_props() function qdev: Extract property-default code to qdev_property_set_to_default() qdev: Register static properties as class properties qom: object_class_property_iter_init() function qmp: Support abstract classes on device-list-properties qdev: Warning about using object_class_property_add() in new code hw/9pfs/virtio-9p-device.c | 2 +- hw/acpi/piix4.c | 2 +- hw/arm/armv7m.c | 2 +- hw/arm/bcm2836.c| 2 +- hw/arm/integratorcp.c | 2 +- hw/arm/musicpal.c | 2 +- hw/arm/pxa2xx.c | 4 +- hw/arm/pxa2xx_gpio.c| 2 +- hw/arm/spitz.c | 2 +- hw/arm/stm32f205_soc.c | 2 +- hw/arm/strongarm.c | 2 +- hw/arm/xlnx-zynqmp.c| 2 +- hw/audio/ac97.c | 2 +- hw/audio/adlib.c| 2 +- hw/audio/cs4231.c | 2 +- hw/audio/cs4231a.c | 2 +- hw/audio/gus.c | 2 +- hw/audio/hda-codec.c| 2 +- hw/audio/intel-hda.c| 4 +- hw/audio/marvell_88w8618.c | 2 +- hw/audio/pcspk.c| 2 +- hw/audio/pl041.c| 2 +- hw/audio/sb16.c | 2 +- hw/block/fdc.c | 6 +- hw/block/m25p80.c | 2 +- hw/block/nand.c | 2 +- hw/block/nvme.c | 2 +- hw/block/onenand.c | 2 +- hw/block/pflash_cfi01.c | 2 +- hw/block/pflash_cfi02.c | 2 +- hw/block/virtio-blk.c | 2 +- hw/char/bcm2835_aux.c | 2 +- hw/char/cadence_uart.c | 2 +- hw/char/debugcon.c | 2 +- hw/char/digic-uart.c| 2 +- hw/char/escc.c | 2 +- hw/char/etraxfs_ser.c | 2 +- hw/char/exynos4210_uart.c | 2 +- hw/char/grlib_apbuart.c | 2 +- hw/char/imx_serial.c| 2 +- hw/char/ipoctal232.c| 2 +- hw/char/lm32_juart.c| 2 +- hw/char/lm32_uart.c | 2 +- hw/char/milkymist-uart.c| 2 +- hw/char/parallel.c | 2 +- hw/char/pl011.c | 2 +- hw/char/sclpconsole-lm.c| 2 +- hw/char/sclpconsole.c | 2 +- hw/char/serial-isa.c| 2 +- hw/char/serial-pci.c| 6 +- hw/char/spapr_vty.c | 2 +- hw/char/stm32f2xx_usart.c | 2 +- hw/char/virtio-console.c| 2 +- hw/char/virtio-serial-bus.c | 4 +- hw/char/xilinx_uartlite.c | 2 +- hw/core/generic-loader.c| 2 +- hw/core/or-irq.c| 2 +- hw/core/platform-bus.c | 2 +- hw/core/qdev.c | 112 ++-- hw/cpu/a15mpcore.c | 2 +- hw/cpu/a9mpcore.c | 2 +- hw/cpu/arm11mpcore.c| 2 +- hw/cpu/realview_mpcore.c| 2 +- hw/display/bcm2835_fb.c | 2 +- hw/display/cg3.c| 2 +- hw/display/cirrus_vga.c | 4 +- hw/display/g364fb.c | 2 +- hw/display/milkymist-vgafb.c| 2 +- hw/display/qxl.c| 2 +- hw/display/tcx.c| 2 +- hw/display/vga-isa.c| 2 +- hw/display/vga-pci.c| 4 +- hw/display/virtio-gpu-pci.c | 2 +- hw/display/virtio-gpu.c | 2 +- hw/display/virtio-vga.c | 2 +- hw/display/vmware_vga.c | 2 +- hw/dma/i82374.c | 2 +- hw/dma/i8257.c | 2 +- hw/dma/pl330.c | 2 +- hw/dma/pxa2xx_dma.c | 2 +- hw/dma/sparc32_dma.c| 2 +- hw/dma/sun4m_iommu.c| 2 +- hw/dma/xilinx_axidma.c | 2 +- hw/gpio/imx_gpio.c | 2 +- hw/gpio/omap_gpio.c | 4 +- hw/i2c