From: "Cédric Le Goater" <clg@kaod.org>
To: David Gibson <david@gibson.dropbear.id.au>
Cc: "Cédric Le Goater" <clg@kaod.org>,
qemu-ppc@nongnu.org, qemu-devel@nongnu.org,
"Greg Kurz" <groug@kaod.org>
Subject: [PATCH v2 0/2] spapr: interrupt presenter fixes
Date: Fri, 18 Oct 2019 19:22:17 +0200 [thread overview]
Message-ID: <20191018172219.10039-1-clg@kaod.org> (raw)
Hello,
The interrupt presenters are created by a machine handler at the core
level and are reseted independently. This is not consistent and it
raises some issues when it comes to handle hot-plugged CPUs. These are
reseted from the realize handler of the core and the presenters are
not. This is less of an issue in XICS, although a zero MFFR could be a
concern, but in XIVE, the OS CAM line is not set and this breaks the
presenting algorithm. The current code has workarounds which need a
global cleanup.
Extend the sPAPR IRQ backend with a new cpu_intc_reset() handler which
will be called by the CPU reset handler and remove the XiveTCTX reset
handler which is redundant.
Set the OS CAM line when the interrupt presenter of the sPAPR core is
reseted. This will also cover the case of hot-plugged CPUs.
These changes do not address the root problem: the reset of the core
at realize time which hides the fact that hot-plugged CPUs are not
reseted. Anyhow, they do fix the presenter reset and remove a
workaround of workaround in the case of XIVE.
Thanks,
C.
Changes inv v2:
- removed property
- simplified reset handlers
Cédric Le Goater (2):
spapr: Introduce a interrupt presenter reset handler
spapr/xive: Set the OS CAM line at reset
include/hw/ppc/spapr_irq.h | 2 ++
include/hw/ppc/spapr_xive.h | 1 -
include/hw/ppc/xics.h | 1 +
include/hw/ppc/xive.h | 1 +
hw/intc/spapr_xive.c | 25 ++++++++++---------------
hw/intc/xics.c | 8 ++------
hw/intc/xics_spapr.c | 7 +++++++
hw/intc/xive.c | 12 +-----------
hw/ppc/spapr_cpu_core.c | 14 ++++++++++----
hw/ppc/spapr_irq.c | 14 ++++++++++++++
10 files changed, 48 insertions(+), 37 deletions(-)
--
2.21.0
next reply other threads:[~2019-10-18 17:24 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-18 17:22 Cédric Le Goater [this message]
2019-10-18 17:22 ` [PATCH v2 1/2] spapr: Introduce a interrupt presenter reset handler Cédric Le Goater
2019-10-19 6:02 ` Greg Kurz
2019-10-21 10:11 ` Cédric Le Goater
2019-10-18 17:22 ` [PATCH v2 2/2] spapr/xive: Set the OS CAM line at reset Cédric Le Goater
2019-10-19 6:08 ` Greg Kurz
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=20191018172219.10039-1-clg@kaod.org \
--to=clg@kaod.org \
--cc=david@gibson.dropbear.id.au \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).