Hello, The PowerNV and sPAPR machine use qdev_get_machine() and get_system_memory() in some places. This is not a good modeling pratice and it should be avoided. This series replaces the uses of these routines with a set of QOM properties and aliases.
The work is mostly complete. We still need to link the XiveTCTX to its XiveRouter or XivePresenter under the sPAPR machine. Thanks, C. Cédric Le Goater (4): ppc/pnv: Modify the powerdown notifier to get the PowerNV machine ppc/pnv: Introduce a "system-memory" property ppc/pnv: Introduce a "xics" property alias under the PSI model ppc/pnv: Introduce a "xics" property under the POWER8 chip Greg Kurz (6): spapr/xive: Use device_class_set_parent_realize() 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 include/hw/ppc/pnv.h | 7 +++- include/hw/ppc/pnv_psi.h | 1 + include/hw/ppc/pnv_xive.h | 12 ++++++ include/hw/ppc/spapr_xive.h | 10 +++++ include/hw/ppc/xive.h | 5 ++- hw/intc/pnv_xive.c | 15 +++++++- hw/intc/spapr_xive.c | 12 +++++- hw/intc/xive.c | 22 +++++++++-- hw/ppc/pnv.c | 75 ++++++++++++++++++++++++++++--------- hw/ppc/pnv_bmc.c | 8 ++-- hw/ppc/pnv_psi.c | 22 +++++------ hw/ppc/spapr_irq.c | 2 + 12 files changed, 151 insertions(+), 40 deletions(-) -- 2.21.0