mirror of
https://github.com/qemu/qemu.git
synced 2025-08-09 01:50:43 +00:00
ppc/pnv: psi: add a reset handler
Reset all regs but keep the MMIO BAR enabled as it is at realize time. Signed-off-by: Cédric Le Goater <clg@kaod.org> Message-Id: <20190306085032.15744-14-clg@kaod.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
029699aa04
commit
f7eb6a0a9b
@ -442,6 +442,15 @@ static const MemoryRegionOps pnv_psi_xscom_ops = {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static void pnv_psi_reset(void *dev)
|
||||||
|
{
|
||||||
|
PnvPsi *psi = PNV_PSI(dev);
|
||||||
|
|
||||||
|
memset(psi->regs, 0x0, sizeof(psi->regs));
|
||||||
|
|
||||||
|
psi->regs[PSIHB_XSCOM_BAR] = psi->bar | PSIHB_BAR_EN;
|
||||||
|
}
|
||||||
|
|
||||||
static void pnv_psi_init(Object *obj)
|
static void pnv_psi_init(Object *obj)
|
||||||
{
|
{
|
||||||
PnvPsi *psi = PNV_PSI(obj);
|
PnvPsi *psi = PNV_PSI(obj);
|
||||||
@ -511,6 +520,8 @@ static void pnv_psi_realize(DeviceState *dev, Error **errp)
|
|||||||
psi->regs[xivr] = PSIHB_XIVR_PRIO_MSK |
|
psi->regs[xivr] = PSIHB_XIVR_PRIO_MSK |
|
||||||
((uint64_t) i << PSIHB_XIVR_SRC_SH);
|
((uint64_t) i << PSIHB_XIVR_SRC_SH);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
qemu_register_reset(pnv_psi_reset, dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int pnv_psi_dt_xscom(PnvXScomInterface *dev, void *fdt, int xscom_offset)
|
static int pnv_psi_dt_xscom(PnvXScomInterface *dev, void *fdt, int xscom_offset)
|
||||||
|
Loading…
Reference in New Issue
Block a user