mirror of https://gitee.com/openkylin/qemu.git
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:
parent
a4261be172
commit
d61c285703
|
@ -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);
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue