[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [PATCH] ppc/pnv: fix StoreEOI activation
From: |
David Gibson |
Subject: |
Re: [Qemu-ppc] [PATCH] ppc/pnv: fix StoreEOI activation |
Date: |
Thu, 13 Jun 2019 10:00:14 +1000 |
User-agent: |
Mutt/1.11.4 (2019-03-13) |
On Wed, Jun 12, 2019 at 06:23:57PM +0200, Cédric Le Goater wrote:
> The firmware (skiboot) of the PowerNV machines can configure the XIVE
> interrupt controller to activate StoreEOI on the ESB pages of the
> interrupts. This feature lets software do an EOI with a store instead
> of a load. It is not activated today on P9 for rare race condition
> issues but it should be on future processors.
>
> Nevertheless, QEMU has a model for StoreEOI which can be used today by
> experimental firmwares. But, the use of object_property_set_int() in
> the PnvXive model is incorrect and crashes QEMU. Replace it with a
> direct access to the ESB flags of the XiveSource object modeling the
> internal sources of the interrupt controller.
>
> Signed-off-by: Cédric Le Goater <address@hidden>
Applied, thanks.
> ---
> hw/intc/pnv_xive.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/hw/intc/pnv_xive.c b/hw/intc/pnv_xive.c
> index bb0877cbdf3b..12c91adcd27e 100644
> --- a/hw/intc/pnv_xive.c
> +++ b/hw/intc/pnv_xive.c
> @@ -780,8 +780,7 @@ static void pnv_xive_ic_reg_write(void *opaque, hwaddr
> offset,
> * support recently though)
> */
> if (val & (VC_SBC_CONF_CPLX_CIST | VC_SBC_CONF_CIST_BOTH)) {
> - object_property_set_int(OBJECT(&xive->ipi_source),
> - XIVE_SRC_STORE_EOI, "flags",
> &error_fatal);
> + xive->ipi_source.esb_flags |= XIVE_SRC_STORE_EOI;
> }
> break;
>
--
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
signature.asc
Description: PGP signature