From: David Gibson <david@gibson.dropbear.id.au>
To: "Cédric Le Goater" <clg@kaod.org>
Cc: qemu-ppc@nongnu.org, Greg Kurz <groug@kaod.org>, qemu-devel@nongnu.org
Subject: Re: [PATCH 7/7] ppc/pnv: Introduce a LPC FW memory region attribute to map the PNOR
Date: Thu, 28 Jan 2021 11:54:32 +1100 [thread overview]
Message-ID: <20210128005432.GJ18347@yekko.fritz.box> (raw)
In-Reply-To: <20210126171059.307867-8-clg@kaod.org>
[-- Attachment #1: Type: text/plain, Size: 4054 bytes --]
On Tue, Jan 26, 2021 at 06:10:59PM +0100, Cédric Le Goater wrote:
> This to map the PNOR from the machine init handler directly and finish
> the cleanup of the LPC model.
>
> Signed-off-by: Cédric Le Goater <clg@kaod.org>
Applied to ppc-for-6.0, thanks.
> ---
> include/hw/ppc/pnv.h | 1 +
> hw/ppc/pnv.c | 11 +++++++++++
> hw/ppc/pnv_lpc.c | 7 -------
> 3 files changed, 12 insertions(+), 7 deletions(-)
>
> diff --git a/include/hw/ppc/pnv.h b/include/hw/ppc/pnv.h
> index ee7eda3e0102..d69cee17b232 100644
> --- a/include/hw/ppc/pnv.h
> +++ b/include/hw/ppc/pnv.h
> @@ -58,6 +58,7 @@ struct PnvChip {
> MemoryRegion xscom;
> AddressSpace xscom_as;
>
> + MemoryRegion *fw_mr;
> gchar *dt_isa_nodename;
> };
>
> diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c
> index e500c2e2437e..50810df83815 100644
> --- a/hw/ppc/pnv.c
> +++ b/hw/ppc/pnv.c
> @@ -871,6 +871,14 @@ static void pnv_init(MachineState *machine)
> pnv_ipmi_bt_init(pnv->isa_bus, pnv->bmc, 10);
> }
>
> + /*
> + * The PNOR is mapped on the LPC FW address space by the BMC.
> + * Since we can not reach the remote BMC machine with LPC memops,
> + * map it always for now.
> + */
> + memory_region_add_subregion(pnv->chips[0]->fw_mr, PNOR_SPI_OFFSET,
> + &pnv->pnor->mmio);
> +
> /*
> * OpenPOWER systems use a IPMI SEL Event message to notify the
> * host to powerdown
> @@ -1150,6 +1158,7 @@ static void pnv_chip_power8_realize(DeviceState *dev, Error **errp)
> qdev_realize(DEVICE(&chip8->lpc), NULL, &error_fatal);
> pnv_xscom_add_subregion(chip, PNV_XSCOM_LPC_BASE, &chip8->lpc.xscom_regs);
>
> + chip->fw_mr = &chip8->lpc.isa_fw;
> chip->dt_isa_nodename = g_strdup_printf("/xscom@%" PRIx64 "/isa@%x",
> (uint64_t) PNV_XSCOM_BASE(chip),
> PNV_XSCOM_LPC_BASE);
> @@ -1479,6 +1488,7 @@ static void pnv_chip_power9_realize(DeviceState *dev, Error **errp)
> memory_region_add_subregion(get_system_memory(), PNV9_LPCM_BASE(chip),
> &chip9->lpc.xscom_regs);
>
> + chip->fw_mr = &chip9->lpc.isa_fw;
> chip->dt_isa_nodename = g_strdup_printf("/lpcm-opb@%" PRIx64 "/lpc@0",
> (uint64_t) PNV9_LPCM_BASE(chip));
>
> @@ -1592,6 +1602,7 @@ static void pnv_chip_power10_realize(DeviceState *dev, Error **errp)
> memory_region_add_subregion(get_system_memory(), PNV10_LPCM_BASE(chip),
> &chip10->lpc.xscom_regs);
>
> + chip->fw_mr = &chip10->lpc.isa_fw;
> chip->dt_isa_nodename = g_strdup_printf("/lpcm-opb@%" PRIx64 "/lpc@0",
> (uint64_t) PNV10_LPCM_BASE(chip));
> }
> diff --git a/hw/ppc/pnv_lpc.c b/hw/ppc/pnv_lpc.c
> index 11739e397b27..bcbca3db9743 100644
> --- a/hw/ppc/pnv_lpc.c
> +++ b/hw/ppc/pnv_lpc.c
> @@ -824,7 +824,6 @@ ISABus *pnv_lpc_isa_create(PnvLpcController *lpc, bool use_cpld, Error **errp)
> ISABus *isa_bus;
> qemu_irq *irqs;
> qemu_irq_handler handler;
> - PnvMachineState *pnv = PNV_MACHINE(qdev_get_machine());
>
> /* let isa_bus_new() create its own bridge on SysBus otherwise
> * devices specified on the command line won't find the bus and
> @@ -850,11 +849,5 @@ ISABus *pnv_lpc_isa_create(PnvLpcController *lpc, bool use_cpld, Error **errp)
>
> isa_bus_irqs(isa_bus, irqs);
>
> - /*
> - * TODO: Map PNOR on the LPC FW address space on demand ?
> - */
> - memory_region_add_subregion(&lpc->isa_fw, PNOR_SPI_OFFSET,
> - &pnv->pnor->mmio);
> -
> return isa_bus;
> }
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
prev parent reply other threads:[~2021-01-28 1:55 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-26 17:10 [PATCH 0/7] ppc/pnv: Misc cleanups Cédric Le Goater
2021-01-26 17:10 ` [PATCH 1/7] ppc/pnv: Add trace events for PCI event notification Cédric Le Goater
2021-01-28 0:44 ` David Gibson
2021-01-26 17:10 ` [PATCH 2/7] ppc/xive: Add firmware bit when dumping the ENDs Cédric Le Goater
2021-01-28 0:45 ` David Gibson
2021-01-26 17:10 ` [PATCH 3/7] ppc/pnv: Use skiboot addresses to load kernel and ramfs Cédric Le Goater
2021-01-27 1:27 ` Murilo Opsfelder Araújo
2021-01-27 7:10 ` Cédric Le Goater
2021-01-27 11:57 ` Murilo Opsfelder Araújo
2021-01-28 0:45 ` Joel Stanley
2021-01-28 7:02 ` Cédric Le Goater
2021-01-28 22:36 ` David Gibson
2021-01-29 9:19 ` Cédric Le Goater
2021-01-28 0:46 ` David Gibson
2021-01-26 17:10 ` [PATCH 4/7] ppc/pnv: Simplify pnv_bmc_create() Cédric Le Goater
2021-01-28 0:46 ` Joel Stanley
2021-01-28 7:46 ` Cédric Le Goater
2021-01-28 12:04 ` Greg Kurz
2021-01-28 22:41 ` David Gibson
2021-01-28 22:40 ` David Gibson
2021-01-29 8:39 ` Cédric Le Goater
2021-01-31 23:14 ` Andrew Jeffery
2021-01-28 0:49 ` David Gibson
2021-01-26 17:10 ` [PATCH 5/7] ppc/pnv: Discard internal BMC initialization when BMC is external Cédric Le Goater
2021-01-28 0:48 ` Joel Stanley
2021-01-28 7:13 ` Cédric Le Goater
2021-01-28 10:08 ` Joel Stanley
2021-01-28 0:50 ` David Gibson
2021-01-26 17:10 ` [PATCH 6/7] ppc/pnv: Remove default disablement of the PNOR contents Cédric Le Goater
2021-01-28 0:52 ` Joel Stanley
2021-01-28 0:52 ` David Gibson
2021-01-26 17:10 ` [PATCH 7/7] ppc/pnv: Introduce a LPC FW memory region attribute to map the PNOR Cédric Le Goater
2021-01-28 0:53 ` Joel Stanley
2021-01-28 0:54 ` David Gibson [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210128005432.GJ18347@yekko.fritz.box \
--to=david@gibson.dropbear.id.au \
--cc=clg@kaod.org \
--cc=groug@kaod.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.