Re: [Qemu-devel] [PATCH 0/6] qdev class properties + abstract class support on device-list-properties

2016-10-18 Thread Eduardo Habkost
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

2016-10-17 Thread Andreas Färber
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

2016-10-17 Thread Eduardo Habkost
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  |   

Re: [Qemu-devel] [PATCH 0/6] qdev class properties + abstract class support on device-list-properties

2016-10-12 Thread Eduardo Habkost
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

2016-10-11 Thread no-reply
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 support   yes
VNC SASL support  no
VNC JPEG support  no
VNC