mirror of https://github.com/xemu-project/xemu.git
ppc/pnv: psi: add a PSIHB_REG macro
This is a simple helper to translate XSCOM addresses to MMIO addresses Signed-off-by: Cédric Le Goater <clg@kaod.org> Message-Id: <20190306085032.15744-13-clg@kaod.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
cdbaf8cd9a
commit
029699aa04
|
@ -114,6 +114,8 @@
|
||||||
#define PSIHB_BAR_MASK 0x0003fffffff00000ull
|
#define PSIHB_BAR_MASK 0x0003fffffff00000ull
|
||||||
#define PSIHB_FSPBAR_MASK 0x0003ffff00000000ull
|
#define PSIHB_FSPBAR_MASK 0x0003ffff00000000ull
|
||||||
|
|
||||||
|
#define PSIHB_REG(addr) (((addr) >> 3) + PSIHB_XSCOM_BAR)
|
||||||
|
|
||||||
static void pnv_psi_set_bar(PnvPsi *psi, uint64_t bar)
|
static void pnv_psi_set_bar(PnvPsi *psi, uint64_t bar)
|
||||||
{
|
{
|
||||||
MemoryRegion *sysmem = get_system_memory();
|
MemoryRegion *sysmem = get_system_memory();
|
||||||
|
@ -392,13 +394,13 @@ static void pnv_psi_reg_write(PnvPsi *psi, uint32_t offset, uint64_t val,
|
||||||
*/
|
*/
|
||||||
static uint64_t pnv_psi_mmio_read(void *opaque, hwaddr addr, unsigned size)
|
static uint64_t pnv_psi_mmio_read(void *opaque, hwaddr addr, unsigned size)
|
||||||
{
|
{
|
||||||
return pnv_psi_reg_read(opaque, (addr >> 3) + PSIHB_XSCOM_BAR, true);
|
return pnv_psi_reg_read(opaque, PSIHB_REG(addr), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void pnv_psi_mmio_write(void *opaque, hwaddr addr,
|
static void pnv_psi_mmio_write(void *opaque, hwaddr addr,
|
||||||
uint64_t val, unsigned size)
|
uint64_t val, unsigned size)
|
||||||
{
|
{
|
||||||
pnv_psi_reg_write(opaque, (addr >> 3) + PSIHB_XSCOM_BAR, val, true);
|
pnv_psi_reg_write(opaque, PSIHB_REG(addr), val, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const MemoryRegionOps psi_mmio_ops = {
|
static const MemoryRegionOps psi_mmio_ops = {
|
||||||
|
|
Loading…
Reference in New Issue