Hello,
The PowerNV and sPAPR machine use qdev_get_machine() in some places.
This is not a good modeling pratice and it should be avoided. This
series replaces the use of this routine with a set of QOM properties
and aliases.
Thanks,
C.
Changes since v2:
- rebase on latest ppc tree
- dropped get_system_memory() removal
- addition of a couple of cleanup patches of the PSI model from Greg
Changes since v1:
- fixed a missing assert(chip->system_memory)
- introduced a XivePresenter link under XiveTCTX
Cédric Le Goater (3):
ppc/pnv: Introduce a "xics" property alias under the PSI model
ppc/pnv: Introduce a "xics" property under the POWER8 chip
xive: Add a "presenter" link property to the TCTX object
Greg Kurz (9):
pnv/xive: Use device_class_set_parent_realize()
spapr, pnv, xive: Add a "xive-fabric" link to the XIVE router
xive: Use the XIVE fabric link under the XIVE router
ppc/pnv: Add an "nr-threads" property to the base chip class
ppc/pnv: Add a "pnor" const link property to the BMC internal
simulator
spapr/xive: Deduce the SpaprXive pointer from XiveTCTX::xptr
pnv/xive: Deduce the PnvXive pointer from XiveTCTX::xptr
pnv/psi: Add device reset hook
pnv/psi: Consolidate some duplicated code in pnv_psi_realize()
include/hw/ppc/pnv.h | 7 +++--
include/hw/ppc/pnv_xive.h | 10 +++++++
include/hw/ppc/xive.h | 13 +++++----
hw/intc/pnv_xive.c | 18 ++++++++----
hw/intc/spapr_xive.c | 2 +-
hw/intc/spapr_xive_kvm.c | 9 +++---
hw/intc/xive.c | 28 ++++++++++++++++---
hw/ppc/pnv.c | 59 ++++++++++++++++++++++-----------------
hw/ppc/pnv_bmc.c | 8 ++++--
hw/ppc/pnv_psi.c | 43 ++++++++++++++++------------
hw/ppc/spapr_irq.c | 2 ++
11 files changed, 129 insertions(+), 70 deletions(-)
--
2.21.1