It will be used when the guest chooses the XIVE exploitation mode in CAS. Signed-off-by: Cédric Le Goater <c...@kaod.org> --- hw/intc/xive.c | 11 +++++++++++ include/hw/ppc/xive.h | 2 ++ 2 files changed, 13 insertions(+)
diff --git a/hw/intc/xive.c b/hw/intc/xive.c index cda1fa18e44d..895dd2b2f61b 100644 --- a/hw/intc/xive.c +++ b/hw/intc/xive.c @@ -915,3 +915,14 @@ bool xive_eq_for_target(XIVE *x, uint32_t target, uint8_t priority, return true; } + +void xive_mmio_map(XIVE *x) +{ + /* ESBs */ + sysbus_mmio_map(SYS_BUS_DEVICE(x), 0, x->vc_base); + + /* Thread Management Interrupt Areas */ + /* TODO: Only map the OS TIMA for the moment. Mapping the whole + * region needs some rework in the handlers */ + sysbus_mmio_map(SYS_BUS_DEVICE(x), 1, x->tm_base + (1 << x->tm_shift)); +} diff --git a/include/hw/ppc/xive.h b/include/hw/ppc/xive.h index 288116aeb8f4..560f6ab66f73 100644 --- a/include/hw/ppc/xive.h +++ b/include/hw/ppc/xive.h @@ -68,4 +68,6 @@ typedef struct sPAPRMachineState sPAPRMachineState; void xive_spapr_init(sPAPRMachineState *spapr); void xive_spapr_populate(XIVE *x, void *fdt); +void xive_mmio_map(XIVE *x); + #endif /* PPC_XIVE_H */ -- 2.7.5