From: Nicholas Piggin <npiggin@gmail•com>
To: linuxppc-dev@lists•ozlabs.org
Cc: Tulio Magno Quites Machado Filho <tuliom@linux•ibm.com>,
Nicholas Piggin <npiggin@gmail•com>
Subject: [RFC PATCH 03/27] powerpc/64s/exception: Add GEN_KVM macro that uses INT_DEFINE parameters
Date: Sun, 15 Sep 2019 11:27:49 +1000 [thread overview]
Message-ID: <20190915012813.29317-4-npiggin@gmail.com> (raw)
In-Reply-To: <20190915012813.29317-1-npiggin@gmail.com>
No generated code change.
Signed-off-by: Nicholas Piggin <npiggin@gmail•com>
---
arch/powerpc/kernel/exceptions-64s.S | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S
index 591ae2a73e18..0e39e98ef719 100644
--- a/arch/powerpc/kernel/exceptions-64s.S
+++ b/arch/powerpc/kernel/exceptions-64s.S
@@ -204,6 +204,7 @@ END_FTR_SECTION_NESTED(ftr,ftr,943)
#define ISET_RI .L_ISET_RI_\name\()
#define IEARLY .L_IEARLY_\name\()
#define IMASK .L_IMASK_\name\()
+#define IKVM_SKIP .L_IKVM_SKIP_\name\()
#define IKVM_REAL .L_IKVM_REAL_\name\()
#define IKVM_VIRT .L_IKVM_VIRT_\name\()
#define ISTACK .L_ISTACK_\name\()
@@ -243,6 +244,9 @@ do_define_int n
.ifndef IMASK
IMASK=0
.endif
+ .ifndef IKVM_SKIP
+ IKVM_SKIP=0
+ .endif
.ifndef IKVM_REAL
IKVM_REAL=0
.endif
@@ -265,6 +269,10 @@ do_define_int n
KVM_HANDLER \vec, \hsrr, \area, \skip
.endm
+.macro GEN_KVM name
+ KVM_HANDLER IVEC, IHSRR, IAREA, IKVM_SKIP
+.endm
+
#ifdef CONFIG_KVM_BOOK3S_64_HANDLER
#ifdef CONFIG_KVM_BOOK3S_HV_POSSIBLE
/*
@@ -1226,6 +1234,7 @@ INT_DEFINE_BEGIN(data_access)
IVEC=0x300
IDAR=1
IDSISR=1
+ IKVM_SKIP=1
IKVM_REAL=1
INT_DEFINE_END(data_access)
@@ -1235,7 +1244,8 @@ EXC_REAL_END(data_access, 0x300, 0x80)
EXC_VIRT_BEGIN(data_access, 0x4300, 0x80)
GEN_INT_ENTRY data_access, virt=1
EXC_VIRT_END(data_access, 0x4300, 0x80)
-INT_KVM_HANDLER data_access, 0x300, EXC_STD, PACA_EXGEN, 1
+TRAMP_KVM_BEGIN(data_access_kvm)
+ GEN_KVM data_access
EXC_COMMON_BEGIN(data_access_common)
GEN_COMMON data_access
ld r4,_DAR(r1)
--
2.23.0
next prev parent reply other threads:[~2019-09-15 1:36 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-15 1:27 [RFC PATCH 00/27] current interrupt series plus scv syscall Nicholas Piggin
2019-09-15 1:27 ` [RFC PATCH 01/27] powerpc/64s/exception: Introduce INT_DEFINE parameter block for code generation Nicholas Piggin
2019-09-15 1:27 ` [RFC PATCH 02/27] powerpc/64s/exception: Add GEN_COMMON macro that uses INT_DEFINE parameters Nicholas Piggin
2019-09-15 1:27 ` Nicholas Piggin [this message]
2019-09-15 1:27 ` [RFC PATCH 04/27] powerpc/64s/exception: Expand EXC_COMMON and EXC_COMMON_ASYNC macros Nicholas Piggin
2019-09-15 1:27 ` [RFC PATCH 05/27] powerpc/64s/exception: Move all interrupt handlers to new style code gen macros Nicholas Piggin
2019-09-15 1:27 ` [RFC PATCH 06/27] powerpc/64s/exception: Remove old INT_ENTRY macro Nicholas Piggin
2019-09-15 1:27 ` [RFC PATCH 07/27] powerpc/64s/exception: Remove old INT_COMMON macro Nicholas Piggin
2019-09-15 1:27 ` [RFC PATCH 08/27] powerpc/64s/exception: Remove old INT_KVM_HANDLER Nicholas Piggin
2019-09-15 1:27 ` [RFC PATCH 09/27] powerpc/64s/exception: Add ISIDE option Nicholas Piggin
2019-09-15 1:27 ` [RFC PATCH 10/27] powerpc/64s/exception: move real->virt switch into the common handler Nicholas Piggin
2019-09-15 1:27 ` [RFC PATCH 11/27] powerpc/64s/exception: move soft-mask test to common code Nicholas Piggin
2019-09-15 1:27 ` [RFC PATCH 12/27] powerpc/64s/exception: move KVM " Nicholas Piggin
2019-09-15 1:27 ` [RFC PATCH 13/27] powerpc/64s/exception: remove confusing IEARLY option Nicholas Piggin
2019-09-15 1:28 ` [RFC PATCH 14/27] powerpc/64s/exception: remove the SPR saving patch code macros Nicholas Piggin
2019-09-15 1:28 ` [RFC PATCH 15/27] powerpc/64s/exception: trim unused arguments from KVMTEST macro Nicholas Piggin
2019-09-15 1:28 ` [RFC PATCH 16/27] powerpc/64s/exception: hdecrementer avoid touching the stack Nicholas Piggin
2019-09-15 1:28 ` [RFC PATCH 17/27] powerpc/64s/exception: re-inline some handlers Nicholas Piggin
2019-09-15 1:28 ` [RFC PATCH 18/27] powerpc/64s/exception: Clean up SRR specifiers Nicholas Piggin
2019-09-15 1:28 ` [RFC PATCH 19/27] powerpc/64s/exception: add more comments for interrupt handlers Nicholas Piggin
2019-09-15 1:28 ` [RFC PATCH 20/27] powerpc/64s/exception: only test KVM in SRR interrupts when PR KVM is supported Nicholas Piggin
2019-09-15 1:28 ` [RFC PATCH 21/27] powerpc/64s/exception: soft nmi interrupt should not use ret_from_except Nicholas Piggin
2019-09-15 1:28 ` [RFC PATCH 22/27] powerpc/64: system call remove non-volatile GPR save optimisation Nicholas Piggin
2019-09-15 1:28 ` [RFC PATCH 23/27] powerpc/64: system call implement the bulk of the logic in C Nicholas Piggin
2019-10-02 8:21 ` Michal Suchánek
2019-10-02 3:10 ` Nicholas Piggin
2019-09-15 1:28 ` [RFC PATCH 24/27] powerpc/64s: interrupt return " Nicholas Piggin
2019-10-02 8:20 ` Michal Suchánek
2019-09-15 1:28 ` [RFC PATCH 25/27] powerpc/64s/exception: remove lite interrupt return Nicholas Piggin
2019-09-15 1:28 ` [RFC PATCH 26/27] powerpc/64s/exception: treat NIA below __end_interrupts as soft-masked Nicholas Piggin
2019-09-15 1:28 ` [RFC PATCH 27/27] powerpc/64s: system call support for scv/rfscv instructions Nicholas Piggin
2019-10-02 8:21 ` Michal Suchánek
2019-10-02 8:20 ` [RFC PATCH 00/27] current interrupt series plus scv syscall Michal Suchánek
2019-10-02 3:13 ` Nicholas Piggin
2019-10-30 12:55 ` Michal Suchánek
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=20190915012813.29317-4-npiggin@gmail.com \
--to=npiggin@gmail$(echo .)com \
--cc=linuxppc-dev@lists$(echo .)ozlabs.org \
--cc=tuliom@linux$(echo .)ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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