mbox

[PULL,for-2.0-rc0,v2,00/31] QOM devices patch queue 2014-03-12

Message ID 1394670436-575-1-git-send-email-afaerber@suse.de
State New
Headers show

Pull-request

git://github.com/afaerber/qemu-cpu.git tags/qom-devices-for-peter

Message

Andreas Färber March 13, 2014, 12:27 a.m. UTC
Hello Peter,

This is my QOM (devices) patch queue. Please pull.

v2 changes qom-test.

Regards,
Andreas

Cc: Peter Maydell <peter.maydell@linaro.org>
Cc: Anthony Liguori <anthony@codemonkey.ws>

Cc: Markus Armbruster <armbru@redhat.com>
Cc: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Cc: Alexander Graf <agraf@suse.de>
Cc: Stefan Hajnoczi <stefanha@redhat.com>
Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Bandan Das <bsd@redhat.com>

The following changes since commit 750036a848ea913ba6343718ffa70da98f7eef6b:

  Merge remote-tracking branch 'remotes/afaerber/tags/prep-for-upstream' into staging (2014-03-12 17:53:37 +0000)

are available in the git repository at:


  git://github.com/afaerber/qemu-cpu.git tags/qom-devices-for-peter

for you to fetch changes up to f8762027a33e2f5d0915c56a904962b1481f75c1:

  libqtest: Fix possible deadlock in qtest initialization (2014-03-13 01:21:57 +0100)

----------------------------------------------------------------
QOM/QTest infrastructure fixes and device conversions

* QTest cleanups and test cases for some virtio devices
* QTest for sPAPR PCI host bridge
* qom-test now tests reading all properties beneath /machine
* QOM API leak fixes
* QOM cleanups for SSI devices
* QOM conversion of QEMUMachine
* QOM realize for buses
* sPAPR PCI bus name change

----------------------------------------------------------------
Alexey Kardashevskiy (2):
      spapr-pci: Change the default PCI bus naming
      tests: Add spapr-pci-host-bridge qtest

Amos Kong (1):
      qdev-monitor: Set properties after parent is assigned in device_add

Andreas Färber (11):
      qdev: Fix bus dependency of DeviceState::hotpluggable getter
      qom-test: Test QOM properties
      tests: Clean up IndustryPack TPCI200 gcov paths
      tests: Add virtio-blk qtest
      tests: Add virtio-balloon qtest
      tests: Add virtio-rng qtest
      tests: Add virtio-scsi qtest
      tests: Add virtio-serial qtest
      tests: Add virtio-console qtest
      virtio-console: QOM cast cleanup for VirtConsole
      virtio-serial-port: Convert to QOM realize/unrealize

Bandan Das (3):
      qdev: Prepare realize/unrealize hooks for BusState
      qdev: Realize buses on device realization
      pci: Move VMState registration/unregistration to QOM realize/unrealize

Igor Mammedov (1):
      qdev: Set DeviceClass::hotpluggable default in class_init()

Marcel Apfelbaum (4):
      hw/core: Introduce QEMU machine as QOM object
      vl: Use MachineClass instead of global QEMUMachine list
      hw/boards: Convert current_machine to MachineState
      libqtest: Fix possible deadlock in qtest initialization

Markus Armbruster (1):
      qdev-monitor-test: Don't test human-readable error message

Peter Crosthwaite (6):
      ssi: Convert legacy SSI_SLAVE -> DEVICE casts
      ssi: Convert legacy SSI_BUS -> BUS casts
      misc/max111x: Create abstract max111x type
      misc/max111x: QOM casting sweep
      ssi: Remove SSI_SLAVE_FROM_QDEV() macro
      block/m25p80: Remove FROM_SSI_SLAVE() usages

Stefan Hajnoczi (2):
      qom: Avoid leaking str and bool properties on failure
      qdev-monitor-test: Simplify using g_assert_cmpstr()

 device-hotplug.c                  |   4 +-
 hw/arm/spitz.c                    |  13 ++--
 hw/block/m25p80.c                 |   9 +--
 hw/char/virtio-console.c          |  57 ++++++++++--------
 hw/char/virtio-serial-bus.c       |  51 ++++++++--------
 hw/core/Makefile.objs             |   2 +-
 hw/core/machine.c                 |  28 +++++++++
 hw/core/qdev.c                    |  87 ++++++++++++++++++++++-----
 hw/display/ads7846.c              |   7 ++-
 hw/display/ssd0323.c              |  11 ++--
 hw/misc/max111x.c                 |  54 ++++++++++++-----
 hw/pci/pci.c                      |  51 +++++++++-------
 hw/ppc/spapr_pci.c                |  23 +-------
 hw/sd/ssi-sd.c                    |   7 ++-
 hw/ssi/ssi.c                      |  11 ++--
 include/hw/boards.h               |  55 ++++++++++++++++-
 include/hw/qdev-core.h            |   6 ++
 include/hw/ssi.h                  |   3 +-
 include/hw/virtio/virtio-serial.h |   8 +--
 qdev-monitor.c                    |  15 +++--
 qmp.c                             |   7 ++-
 qom/object.c                      |  14 ++++-
 tests/Makefile                    |  28 ++++++++-
 tests/libqtest.c                  |  13 +++-
 tests/qdev-monitor-test.c         |   8 +--
 tests/qom-test.c                  |  39 ++++++++++++
 tests/spapr-phb-test.c            |  35 +++++++++++
 tests/virtio-balloon-test.c       |  33 +++++++++++
 tests/virtio-blk-test.c           |  34 +++++++++++
 tests/virtio-console-test.c       |  34 +++++++++++
 tests/virtio-rng-test.c           |  33 +++++++++++
 tests/virtio-scsi-test.c          |  35 +++++++++++
 tests/virtio-serial-test.c        |  33 +++++++++++
 vl.c                              | 121 ++++++++++++++++++++++++++------------
 34 files changed, 753 insertions(+), 216 deletions(-)
 create mode 100644 hw/core/machine.c
 create mode 100644 tests/spapr-phb-test.c
 create mode 100644 tests/virtio-balloon-test.c
 create mode 100644 tests/virtio-blk-test.c
 create mode 100644 tests/virtio-console-test.c
 create mode 100644 tests/virtio-rng-test.c
 create mode 100644 tests/virtio-scsi-test.c
 create mode 100644 tests/virtio-serial-test.c

Comments

Peter Maydell March 13, 2014, 11:22 a.m. UTC | #1
On 13 March 2014 00:27, Andreas Färber <afaerber@suse.de> wrote:
> Hello Peter,
>
> This is my QOM (devices) patch queue. Please pull.
>
> v2 changes qom-test.

No, this is still broken:
/home/petmay01/linaro/qemu-for-merges/tests/qom-test.c: In function ‘qmp’:
/home/petmay01/linaro/qemu-for-merges/tests/libqtest.h:359:60: sorry,
unimplemented: function ‘qmp’ can never be inlined because it uses
variable argument lists
make: *** [tests/qom-test.o] Error 1
make: Leaving directory `/home/petmay01/linaro/qemu-for-merges/build/all'

Moving qmp() into libqtest.c and just having a
prototype in libqtest.h (ie having it not be an
inline varargs function) seems to fix this.

I don't know why (a) it didn't complain about
earlier uses of qmp() or (b) why it's not complaining
about qmp_discard_response() now [perhaps the compiler
manages to special case "varargs but the varargs list
is empty]. Probably safest to move qmp_discard_response
too, though.

thanks
-- PMM
Andreas Färber March 13, 2014, 12:33 p.m. UTC | #2
Am 13.03.2014 12:22, schrieb Peter Maydell:
> On 13 March 2014 00:27, Andreas Färber <afaerber@suse.de> wrote:
>> Hello Peter,
>>
>> This is my QOM (devices) patch queue. Please pull.
>>
>> v2 changes qom-test.
> 
> No, this is still broken:
> /home/petmay01/linaro/qemu-for-merges/tests/qom-test.c: In function ‘qmp’:
> /home/petmay01/linaro/qemu-for-merges/tests/libqtest.h:359:60: sorry,
> unimplemented: function ‘qmp’ can never be inlined because it uses
> variable argument lists
> make: *** [tests/qom-test.o] Error 1
> make: Leaving directory `/home/petmay01/linaro/qemu-for-merges/build/all'
> 
> Moving qmp() into libqtest.c and just having a
> prototype in libqtest.h (ie having it not be an
> inline varargs function) seems to fix this.
> 
> I don't know why (a) it didn't complain about
> earlier uses of qmp() or (b) why it's not complaining
> about qmp_discard_response() now [perhaps the compiler
> manages to special case "varargs but the varargs list
> is empty]. Probably safest to move qmp_discard_response
> too, though.

My v1 did have empty varargs, so that's not it...

Andreas
Peter Maydell March 13, 2014, 1:21 p.m. UTC | #3
On 13 March 2014 00:27, Andreas Färber <afaerber@suse.de> wrote:
> Hello Peter,
>
> This is my QOM (devices) patch queue. Please pull.
>
> v2 changes qom-test.
>
> Regards,
> Andreas
>
> Cc: Peter Maydell <peter.maydell@linaro.org>
> Cc: Anthony Liguori <anthony@codemonkey.ws>
>
> Cc: Markus Armbruster <armbru@redhat.com>
> Cc: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
> Cc: Alexander Graf <agraf@suse.de>
> Cc: Stefan Hajnoczi <stefanha@redhat.com>
> Cc: Michael S. Tsirkin <mst@redhat.com>
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> Cc: Bandan Das <bsd@redhat.com>
>
> The following changes since commit 750036a848ea913ba6343718ffa70da98f7eef6b:
>
>   Merge remote-tracking branch 'remotes/afaerber/tags/prep-for-upstream' into staging (2014-03-12 17:53:37 +0000)
>
> are available in the git repository at:
>
>
>   git://github.com/afaerber/qemu-cpu.git tags/qom-devices-for-peter
>
> for you to fetch changes up to f8762027a33e2f5d0915c56a904962b1481f75c1:
>
>   libqtest: Fix possible deadlock in qtest initialization (2014-03-13 01:21:57 +0100)

Applied, thanks (after the libqtest patch, so make check
is fine now).

-- PMM