On Tue, 26 Jan 2021 at 17:11, Cédric Le Goater <c...@kaod.org> wrote: > > On PowerNV systems, the BMC is in charge of mapping the PNOR contents > on the LPC FW address space using the HIOMAP protocol. Under QEMU, we > emulate this behavior and we also add an extra control on the flash > accesses by letting the HIOMAP command handler decide whether the > memory region is accessible or not depending on the firmware requests. > > However, this behavior is not compatible with hostboot like firmwares > which need this mapping to be always available. For this reason, the > PNOR memory region is initially disabled for skiboot mode only. > > This is badly placed under the LPC model and requires the use of the > machine. Since it doesn't add much, simply remove the initial setting. > The extra control in the HIOMAP command handler will still be performed. > > Signed-off-by: Cédric Le Goater <c...@kaod.org>
Reviewed-by: Joel Stanley <j...@jms.id.au> > --- > hw/ppc/pnv_lpc.c | 8 -------- > 1 file changed, 8 deletions(-) > > diff --git a/hw/ppc/pnv_lpc.c b/hw/ppc/pnv_lpc.c > index 590359022084..11739e397b27 100644 > --- a/hw/ppc/pnv_lpc.c > +++ b/hw/ppc/pnv_lpc.c > @@ -825,7 +825,6 @@ ISABus *pnv_lpc_isa_create(PnvLpcController *lpc, bool > use_cpld, Error **errp) > qemu_irq *irqs; > qemu_irq_handler handler; > PnvMachineState *pnv = PNV_MACHINE(qdev_get_machine()); > - bool hostboot_mode = !!pnv->fw_load_addr; > > /* let isa_bus_new() create its own bridge on SysBus otherwise > * devices specified on the command line won't find the bus and > @@ -856,13 +855,6 @@ ISABus *pnv_lpc_isa_create(PnvLpcController *lpc, bool > use_cpld, Error **errp) > */ > memory_region_add_subregion(&lpc->isa_fw, PNOR_SPI_OFFSET, > &pnv->pnor->mmio); > - /* > - * Start disabled. The HIOMAP protocol will activate the mapping > - * with HIOMAP_C_CREATE_WRITE_WINDOW > - */ > - if (!hostboot_mode) { > - memory_region_set_enabled(&pnv->pnor->mmio, false); > - } > > return isa_bus; > } > -- > 2.26.2 > >