[PATCH v3 00/24] Fixes around device realization

Markus Armbruster posted 24 patches 3 years, 10 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20200609122339.937862-1-armbru@redhat.com
Test docker-mingw@fedora passed
Test checkpatch passed
Test asan passed
Test docker-quick@centos7 passed
Test FreeBSD passed
Maintainers: Paolo Bonzini <pbonzini@redhat.com>, Palmer Dabbelt <palmer@dabbelt.com>, Peter Maydell <peter.maydell@linaro.org>, Alistair Francis <Alistair.Francis@wdc.com>, Sagar Karandikar <sagark@eecs.berkeley.edu>, David Gibson <david@gibson.dropbear.id.au>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, Laurent Vivier <laurent@vivier.eu>, "Daniel P. Berrangé" <berrange@redhat.com>, Alistair Francis <alistair@alistair23.me>, Bastian Koppelmann <kbastian@mail.uni-paderborn.de>, Eduardo Habkost <ehabkost@redhat.com>
include/hw/arm/aspeed.h     |  6 ++++++
include/hw/arm/aspeed_soc.h |  1 -
include/hw/ppc/pnv_psi.h    |  2 +-
include/hw/riscv/sifive_e.h |  2 +-
include/hw/riscv/sifive_u.h |  2 +-
hw/arm/armv7m.c             |  6 ++++--
hw/arm/aspeed.c             | 42 ++++++++++++++++++++++++++++++++-----
hw/arm/aspeed_ast2600.c     | 23 +++++++-------------
hw/arm/aspeed_soc.c         | 12 ++---------
hw/arm/stm32f405_soc.c      | 23 +++++++++++---------
hw/core/qdev.c              | 19 +++++++++++++++++
hw/display/ati.c            |  2 ++
hw/display/sm501.c          |  2 ++
hw/display/xlnx_dp.c        |  4 ++++
hw/misc/auxbus.c            |  2 +-
hw/misc/mac_via.c           |  5 +++++
hw/misc/macio/cuda.c        | 15 ++++++++-----
hw/misc/macio/macio.c       |  7 +++++--
hw/misc/macio/pmu.c         | 15 ++++++++-----
hw/pci-host/pnv_phb4_pec.c  |  3 +++
hw/ppc/pnv.c                |  6 +++---
hw/ppc/pnv_psi.c            |  2 +-
hw/ppc/ppc440_uc.c          |  2 --
hw/riscv/opentitan.c        |  5 ++---
hw/riscv/sifive_e.c         |  5 ++---
hw/riscv/sifive_u.c         | 14 ++++++-------
hw/riscv/spike.c            |  4 ++--
hw/riscv/virt.c             |  4 ++--
hw/sd/pxa2xx_mmci.c         |  1 +
hw/sd/sd.c                  | 40 ++++++++++++++++++++++++-----------
hw/sparc/leon3.c            |  4 ++--
MAINTAINERS                 |  2 ++
32 files changed, 185 insertions(+), 97 deletions(-)
[PATCH v3 00/24] Fixes around device realization
Posted by Markus Armbruster 3 years, 10 months ago
This fixes a bunch of bugs I ran into while reworking how qdevs plug
into buses.

I instrumented the code a bit to flush out instances of bug patterns.
I posted these hacks separately as '[PATCH not-for-merge 0/5]
Instrumentation for "Fixes around device realization"'.  PATCH 2/5
since became "[PATCH 0/2] qom: Make "info qom-tree" show children
sorted".  It should be applied first.

v3:
* PATCH 09: Handle errors even though they're impossible [Peter]
  Commit message typo
* PATCH 19: Rebase onto commit 26cd0362dd4 (machines spike_v1.9.1 and
  spike_v1.10 are gone) and commit fe0fe4735e7 (new machine opentitan)

v2:
* Rebased
* PATCH 01: Also fix MMIO addresses, with Alistair's help
* PATCH 04+05: Replaced by better patches from Cédric
* PATCH 01-03+06+08-11+18: Commit messages improved [Peter, Paolo]
* PATCH 08+09+18: Avoid qdev_init_nofail() [Peter]
* PATCH 22: Assertion simplified

Based-on: Message-Id: <20200527084754.7531-1-armbru@redhat.com>

Cédric Le Goater (2):
  arm/aspeed: Compute the number of CPUs from the SoC definition
  arm/aspeed: Rework NIC attachment

Markus Armbruster (22):
  arm/stm32f405: Fix realization of "stm32f2xx-adc" devices
  display/xlnx_dp: Fix to realize "i2c-ddc" and "aux-to-i2c-bridge"
  sd/pxa2xx_mmci: Fix to realize "pxa2xx-mmci" device
  armv7m: Delete unused "ARM,bitband-memory" devices
  auxbus: Fix aux-to-i2c-bridge to be a subtype of aux-slave
  mac_via: Fix to realize "mos6522-q800-via*" devices
  macio: Fix to realize "mos6522-cuda" and "mos6522-pmu" devices
  macio: Delete unused "macio-gpio" devices
  pnv/phb4: Delete unused "pnv-phb4-pec-stack" devices
  MAINTAINERS: Make section PowerNV cover pci-host/pnv* as well
  ppc4xx: Drop redundant device realization
  macio: Put "macio-nvram" device on the macio bus
  macio: Fix macio-bus to be a subtype of System bus
  ppc/pnv: Put "*-pnv-chip" and "pnv-xive" on the main system bus
  pnv/psi: Correct the pnv-psi* devices not to be sysbus devices
  display/sm501 display/ati: Fix to realize "i2c-ddc"
  riscv: Fix to put "riscv.hart_array" devices on sysbus
  riscv: Fix type of SiFive[EU]SocState, member parent_obj
  sparc/leon3: Fix to put grlib,* devices on sysbus
  qdev: Assert devices are plugged into a bus that can take them
  sd: Hide the qdev-but-not-quite thing created by sd_init()
  qdev: Assert onboard devices all get realized properly

 include/hw/arm/aspeed.h     |  6 ++++++
 include/hw/arm/aspeed_soc.h |  1 -
 include/hw/ppc/pnv_psi.h    |  2 +-
 include/hw/riscv/sifive_e.h |  2 +-
 include/hw/riscv/sifive_u.h |  2 +-
 hw/arm/armv7m.c             |  6 ++++--
 hw/arm/aspeed.c             | 42 ++++++++++++++++++++++++++++++++-----
 hw/arm/aspeed_ast2600.c     | 23 +++++++-------------
 hw/arm/aspeed_soc.c         | 12 ++---------
 hw/arm/stm32f405_soc.c      | 23 +++++++++++---------
 hw/core/qdev.c              | 19 +++++++++++++++++
 hw/display/ati.c            |  2 ++
 hw/display/sm501.c          |  2 ++
 hw/display/xlnx_dp.c        |  4 ++++
 hw/misc/auxbus.c            |  2 +-
 hw/misc/mac_via.c           |  5 +++++
 hw/misc/macio/cuda.c        | 15 ++++++++-----
 hw/misc/macio/macio.c       |  7 +++++--
 hw/misc/macio/pmu.c         | 15 ++++++++-----
 hw/pci-host/pnv_phb4_pec.c  |  3 +++
 hw/ppc/pnv.c                |  6 +++---
 hw/ppc/pnv_psi.c            |  2 +-
 hw/ppc/ppc440_uc.c          |  2 --
 hw/riscv/opentitan.c        |  5 ++---
 hw/riscv/sifive_e.c         |  5 ++---
 hw/riscv/sifive_u.c         | 14 ++++++-------
 hw/riscv/spike.c            |  4 ++--
 hw/riscv/virt.c             |  4 ++--
 hw/sd/pxa2xx_mmci.c         |  1 +
 hw/sd/sd.c                  | 40 ++++++++++++++++++++++++-----------
 hw/sparc/leon3.c            |  4 ++--
 MAINTAINERS                 |  2 ++
 32 files changed, 185 insertions(+), 97 deletions(-)

-- 
2.26.2