From: Nicholas Piggin <npiggin@gmail.com>
To: linuxppc-dev@lists.ozlabs.org
Cc: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>,
Ganesh Goudar <ganeshgr@linux.ibm.com>,
Nicholas Piggin <npiggin@gmail.com>
Subject: [PATCH v2 03/14] powerpc/64s/exceptions: Change irq reconcile for NMIs from reusing _DAR to RESULT
Date: Fri, 3 Apr 2020 23:26:11 +1000 [thread overview]
Message-ID: <20200403132622.130394-4-npiggin@gmail.com> (raw)
In-Reply-To: <20200403132622.130394-1-npiggin@gmail.com>
A spare interrupt stack slot is needed to save irq state when
reconciling NMIs (sreset and decrementer soft-nmi). _DAR is used
for this, but we want to reconcile machine checks as well, which
do use _DAR. Switch to using RESULT instead, as it's used by
system calls.
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
---
arch/powerpc/kernel/exceptions-64s.S | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S
index 3322000316ab..a42b73efb1a9 100644
--- a/arch/powerpc/kernel/exceptions-64s.S
+++ b/arch/powerpc/kernel/exceptions-64s.S
@@ -939,13 +939,13 @@ EXC_COMMON_BEGIN(system_reset_common)
* the right thing. We do not want to reconcile because that goes
* through irq tracing which we don't want in NMI.
*
- * Save PACAIRQHAPPENED to _DAR (otherwise unused), and set HARD_DIS
+ * Save PACAIRQHAPPENED to RESULT (otherwise unused), and set HARD_DIS
* as we are running with MSR[EE]=0.
*/
li r10,IRQS_ALL_DISABLED
stb r10,PACAIRQSOFTMASK(r13)
lbz r10,PACAIRQHAPPENED(r13)
- std r10,_DAR(r1)
+ std r10,RESULT(r1)
ori r10,r10,PACA_IRQ_HARD_DIS
stb r10,PACAIRQHAPPENED(r13)
@@ -966,7 +966,7 @@ EXC_COMMON_BEGIN(system_reset_common)
/*
* Restore soft mask settings.
*/
- ld r10,_DAR(r1)
+ ld r10,RESULT(r1)
stb r10,PACAIRQHAPPENED(r13)
ld r10,SOFTE(r1)
stb r10,PACAIRQSOFTMASK(r13)
@@ -2743,7 +2743,7 @@ EXC_COMMON_BEGIN(soft_nmi_common)
li r10,IRQS_ALL_DISABLED
stb r10,PACAIRQSOFTMASK(r13)
lbz r10,PACAIRQHAPPENED(r13)
- std r10,_DAR(r1)
+ std r10,RESULT(r1)
ori r10,r10,PACA_IRQ_HARD_DIS
stb r10,PACAIRQHAPPENED(r13)
@@ -2757,7 +2757,7 @@ EXC_COMMON_BEGIN(soft_nmi_common)
/*
* Restore soft mask settings.
*/
- ld r10,_DAR(r1)
+ ld r10,RESULT(r1)
stb r10,PACAIRQHAPPENED(r13)
ld r10,SOFTE(r1)
stb r10,PACAIRQSOFTMASK(r13)
--
2.23.0
next prev parent reply other threads:[~2020-04-03 13:42 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-03 13:26 [PATCH v2 00/14] powerpc/64: machine check and system reset fixes Nicholas Piggin
2020-04-03 13:26 ` [PATCH v2 01/14] powerpc/64s/exception: Fix machine check no-loss idle wakeup Nicholas Piggin
2020-04-03 13:26 ` [PATCH v2 02/14] powerpc/64s/exceptions: Fix in_mce accounting in unrecoverable path Nicholas Piggin
2020-04-03 13:26 ` Nicholas Piggin [this message]
2020-04-03 13:26 ` [PATCH v2 04/14] powerpc/64s/exceptions: machine check reconcile irq state Nicholas Piggin
2020-04-03 13:26 ` [PATCH v2 05/14] powerpc/pseries/ras: avoid calling rtas_token in NMI paths Nicholas Piggin
2020-04-03 14:30 ` Christophe Leroy
2020-04-07 4:35 ` Nicholas Piggin
2020-04-03 13:26 ` [PATCH v2 06/14] powerpc/pseries/ras: FWNMI_VALID off by one Nicholas Piggin
2020-04-03 14:33 ` Christophe Leroy
2020-04-03 13:26 ` [PATCH v2 07/14] powerpc/pseries/ras: fwnmi avoid modifying r3 in error case Nicholas Piggin
2020-04-03 13:26 ` [PATCH v2 08/14] powerpc/pseries/ras: fwnmi sreset should not interlock Nicholas Piggin
2020-04-03 14:35 ` Christophe Leroy
2020-04-07 4:26 ` Nicholas Piggin
2020-04-03 13:26 ` [PATCH v2 09/14] powerpc/pseries: limit machine check stack to 4GB Nicholas Piggin
2020-04-03 14:19 ` Christophe Leroy
2020-04-07 4:31 ` Nicholas Piggin
2020-04-03 13:26 ` [PATCH v2 10/14] powerpc/pseries: machine check use rtas_call_unlocked with args on stack Nicholas Piggin
2020-04-03 13:26 ` [PATCH v2 11/14] powerpc/64s: machine check interrupt update NMI accounting Nicholas Piggin
2020-04-03 13:26 ` [PATCH v2 12/14] powerpc/64s: machine check do not trace real-mode handler Nicholas Piggin
2020-04-03 13:26 ` [PATCH v2 13/14] powerpc/64s: system reset do not trace Nicholas Piggin
2020-04-03 14:45 ` Christophe Leroy
2020-04-07 4:30 ` Nicholas Piggin
2020-04-04 21:40 ` kbuild test robot
2020-04-03 13:26 ` [PATCH v2 14/14] powerpc: make unrecoverable NMIs die instead of panic Nicholas Piggin
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=20200403132622.130394-4-npiggin@gmail.com \
--to=npiggin@gmail.com \
--cc=ganeshgr@linux.ibm.com \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mahesh@linux.vnet.ibm.com \
/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).