ppc/pnv: fix LPC HC firmware address space

A specific MemoryRegion is required for the LPC HC Firmware address
space.

Signed-off-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
Cédric Le Goater 2018-06-11 19:12:10 +02:00 committed by David Gibson
parent a4261be172
commit d61c285703
2 changed files with 4 additions and 1 deletions

View file

@ -79,6 +79,7 @@ enum {
#define ISA_IO_SIZE 0x00010000 #define ISA_IO_SIZE 0x00010000
#define ISA_MEM_SIZE 0x10000000 #define ISA_MEM_SIZE 0x10000000
#define ISA_FW_SIZE 0x10000000
#define LPC_IO_OPB_ADDR 0xd0010000 #define LPC_IO_OPB_ADDR 0xd0010000
#define LPC_IO_OPB_SIZE 0x00010000 #define LPC_IO_OPB_SIZE 0x00010000
#define LPC_MEM_OPB_ADDR 0xe0010000 #define LPC_MEM_OPB_ADDR 0xe0010000
@ -429,6 +430,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_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_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 */ /* Create windows from the OPB space to the ISA space */
memory_region_init_alias(&lpc->opb_isa_io, OBJECT(dev), "lpc-isa-io", memory_region_init_alias(&lpc->opb_isa_io, OBJECT(dev), "lpc-isa-io",
@ -440,7 +442,7 @@ static void pnv_lpc_realize(DeviceState *dev, Error **errp)
memory_region_add_subregion(&lpc->opb_mr, LPC_MEM_OPB_ADDR, memory_region_add_subregion(&lpc->opb_mr, LPC_MEM_OPB_ADDR,
&lpc->opb_isa_mem); &lpc->opb_isa_mem);
memory_region_init_alias(&lpc->opb_isa_fw, OBJECT(dev), "lpc-isa-fw", 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, memory_region_add_subregion(&lpc->opb_mr, LPC_FW_OPB_ADDR,
&lpc->opb_isa_fw); &lpc->opb_isa_fw);

View file

@ -38,6 +38,7 @@ typedef struct PnvLpcController {
/* ISA IO and Memory space */ /* ISA IO and Memory space */
MemoryRegion isa_io; MemoryRegion isa_io;
MemoryRegion isa_mem; MemoryRegion isa_mem;
MemoryRegion isa_fw;
/* Windows from OPB to ISA (aliases) */ /* Windows from OPB to ISA (aliases) */
MemoryRegion opb_isa_io; MemoryRegion opb_isa_io;