Signed-off-by: Cédric Le Goater <c...@kaod.org> --- hw/intc/xive_spapr.c | 5 +++++ hw/ppc/spapr.c | 4 ++++ include/hw/ppc/xive.h | 1 + 3 files changed, 10 insertions(+)
diff --git a/hw/intc/xive_spapr.c b/hw/intc/xive_spapr.c index eb8a5c081e51..4f689f8b97c0 100644 --- a/hw/intc/xive_spapr.c +++ b/hw/intc/xive_spapr.c @@ -36,6 +36,11 @@ ICSState *xive_ics_get(XIVE *x, uint32_t lisn) return ics_valid_irq(ics, lisn) ? ics : NULL; } +void xive_ics_pic_print_info(XIVE *x, Monitor *mon) +{ + ics_pic_print_info(ICS_BASE(&x->ipi_xs), mon); +} + static XiveICSState *xive_ics_find(sPAPRMachineState *spapr, uint32_t lisn) { XICSFabricClass *xic = XICS_FABRIC_GET_CLASS(spapr); diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index 816661f4c9ad..ca3a6bc2ea16 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -3399,6 +3399,10 @@ static void spapr_pic_print_info(InterruptStatsProvider *obj, icp_pic_print_info(ICP(cpu->intc), mon); } + if (spapr_ovec_test(spapr->ov5_cas, OV5_XIVE_EXPLOIT)) { + xive_ics_pic_print_info(spapr->xive, mon); + } + ics_pic_print_info(spapr->ics, mon); } diff --git a/include/hw/ppc/xive.h b/include/hw/ppc/xive.h index dc5309264422..ee9b32d8c884 100644 --- a/include/hw/ppc/xive.h +++ b/include/hw/ppc/xive.h @@ -75,5 +75,6 @@ void xive_ics_create(XiveICSState *xs, XIVE *x, uint32_t offset, uint32_t nr_irqs, uint32_t shift, uint32_t flags, Error **errp); ICSState *xive_ics_get(XIVE *x, uint32_t lisn); +void xive_ics_pic_print_info(XIVE *x, Monitor *mon); #endif /* PPC_XIVE_H */ -- 2.7.5