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-arm...@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