Message ID | 20180611171210.2571-1-clg@kaod.org |
---|---|
State | New |
Headers | show |
Series | ppc/pnv: fix LPC HC firmware address space | expand |
On Mon, Jun 11, 2018 at 07:12:10PM +0200, Cédric Le Goater wrote: > A specific MemoryRegion is required for the LPC HC Firmware address > space. > > Signed-off-by: Cédric Le Goater <clg@kaod.org> Applied to ppc-for-3.0, thanks. > --- > include/hw/ppc/pnv_lpc.h | 1 + > hw/ppc/pnv_lpc.c | 4 +++- > 2 files changed, 4 insertions(+), 1 deletion(-) > > diff --git a/include/hw/ppc/pnv_lpc.h b/include/hw/ppc/pnv_lpc.h > index 023b4f0fec86..53fdd5bb6450 100644 > --- a/include/hw/ppc/pnv_lpc.h > +++ b/include/hw/ppc/pnv_lpc.h > @@ -38,6 +38,7 @@ typedef struct PnvLpcController { > /* ISA IO and Memory space */ > MemoryRegion isa_io; > MemoryRegion isa_mem; > + MemoryRegion isa_fw; > > /* Windows from OPB to ISA (aliases) */ > MemoryRegion opb_isa_io; > diff --git a/hw/ppc/pnv_lpc.c b/hw/ppc/pnv_lpc.c > index c42b4a8f6c0f..a0dba657ee60 100644 > --- a/hw/ppc/pnv_lpc.c > +++ b/hw/ppc/pnv_lpc.c > @@ -79,6 +79,7 @@ enum { > > #define ISA_IO_SIZE 0x00010000 > #define ISA_MEM_SIZE 0x10000000 > +#define ISA_FW_SIZE 0x10000000 > #define LPC_IO_OPB_ADDR 0xd0010000 > #define LPC_IO_OPB_SIZE 0x00010000 > #define LPC_MEM_OPB_ADDR 0xe0010000 > @@ -437,6 +438,7 @@ static void pnv_lpc_realize(DeviceState *dev, Error **errp) > */ > memory_region_init(&lpc->isa_io, OBJECT(dev), "isa-io", ISA_IO_SIZE); > memory_region_init(&lpc->isa_mem, OBJECT(dev), "isa-mem", ISA_MEM_SIZE); > + memory_region_init(&lpc->isa_fw, OBJECT(dev), "isa-fw", ISA_FW_SIZE); > > /* Create windows from the OPB space to the ISA space */ > memory_region_init_alias(&lpc->opb_isa_io, OBJECT(dev), "lpc-isa-io", > @@ -448,7 +450,7 @@ static void pnv_lpc_realize(DeviceState *dev, Error **errp) > memory_region_add_subregion(&lpc->opb_mr, LPC_MEM_OPB_ADDR, > &lpc->opb_isa_mem); > memory_region_init_alias(&lpc->opb_isa_fw, OBJECT(dev), "lpc-isa-fw", > - &lpc->isa_mem, 0, LPC_FW_OPB_SIZE); > + &lpc->isa_fw, 0, LPC_FW_OPB_SIZE); > memory_region_add_subregion(&lpc->opb_mr, LPC_FW_OPB_ADDR, > &lpc->opb_isa_fw); >
diff --git a/include/hw/ppc/pnv_lpc.h b/include/hw/ppc/pnv_lpc.h index 023b4f0fec86..53fdd5bb6450 100644 --- a/include/hw/ppc/pnv_lpc.h +++ b/include/hw/ppc/pnv_lpc.h @@ -38,6 +38,7 @@ typedef struct PnvLpcController { /* ISA IO and Memory space */ MemoryRegion isa_io; MemoryRegion isa_mem; + MemoryRegion isa_fw; /* Windows from OPB to ISA (aliases) */ MemoryRegion opb_isa_io; diff --git a/hw/ppc/pnv_lpc.c b/hw/ppc/pnv_lpc.c index c42b4a8f6c0f..a0dba657ee60 100644 --- a/hw/ppc/pnv_lpc.c +++ b/hw/ppc/pnv_lpc.c @@ -79,6 +79,7 @@ enum { #define ISA_IO_SIZE 0x00010000 #define ISA_MEM_SIZE 0x10000000 +#define ISA_FW_SIZE 0x10000000 #define LPC_IO_OPB_ADDR 0xd0010000 #define LPC_IO_OPB_SIZE 0x00010000 #define LPC_MEM_OPB_ADDR 0xe0010000 @@ -437,6 +438,7 @@ static void pnv_lpc_realize(DeviceState *dev, Error **errp) */ memory_region_init(&lpc->isa_io, OBJECT(dev), "isa-io", ISA_IO_SIZE); memory_region_init(&lpc->isa_mem, OBJECT(dev), "isa-mem", ISA_MEM_SIZE); + memory_region_init(&lpc->isa_fw, OBJECT(dev), "isa-fw", ISA_FW_SIZE); /* Create windows from the OPB space to the ISA space */ memory_region_init_alias(&lpc->opb_isa_io, OBJECT(dev), "lpc-isa-io", @@ -448,7 +450,7 @@ static void pnv_lpc_realize(DeviceState *dev, Error **errp) memory_region_add_subregion(&lpc->opb_mr, LPC_MEM_OPB_ADDR, &lpc->opb_isa_mem); memory_region_init_alias(&lpc->opb_isa_fw, OBJECT(dev), "lpc-isa-fw", - &lpc->isa_mem, 0, LPC_FW_OPB_SIZE); + &lpc->isa_fw, 0, LPC_FW_OPB_SIZE); memory_region_add_subregion(&lpc->opb_mr, LPC_FW_OPB_ADDR, &lpc->opb_isa_fw);
A specific MemoryRegion is required for the LPC HC Firmware address space. Signed-off-by: Cédric Le Goater <clg@kaod.org> --- include/hw/ppc/pnv_lpc.h | 1 + hw/ppc/pnv_lpc.c | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-)