From: Leo Yan <leo.yan@linaro.org>
To: Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Kees Cook <keescook@chromium.org>,
Ard Biesheuvel <ardb@kernel.org>,
Sami Tolvanen <samitolvanen@google.com>,
Nicholas Piggin <npiggin@gmail.com>,
James Morse <james.morse@arm.com>, Marc Zyngier <maz@kernel.org>,
Joey Gouly <joey.gouly@arm.com>,
Peter Collingbourne <pcc@google.com>,
Vincenzo Frascino <vincenzo.frascino@arm.com>,
"Peter Zijlstra (Intel)" <peterz@infradead.org>,
Stephane Eranian <eranian@google.com>,
James Clark <james.clark@arm.com>,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Cc: Leo Yan <leo.yan@linaro.org>
Subject: [RFCv1 2/4] arm64: entry: Always apply workaround for contextidr_el1
Date: Thu, 21 Oct 2021 21:45:28 +0800 [thread overview]
Message-ID: <20211021134530.206216-3-leo.yan@linaro.org> (raw)
In-Reply-To: <20211021134530.206216-1-leo.yan@linaro.org>
After introducing static key as the switch for tracing PID into
contextidr_el1, the kernel can dynamically turn on the static key to
use PID tracing to contextidr_el1. This means even the config
CONFIG_PID_IN_CONTEXTIDR is not selected, the kernel still can use
contextidr_el1.
When erratum 84571 is detected, the workaround should be always
applied on contextidr_el1, particularly if the static key is enabled
dynamically.
This patch would introduce minor overload by one extra instruction for
accessing system register contextidr_el1 and it only impacts platform
which erratum 84571. So it's expected to not cause any significant
regression.
Signed-off-by: Leo Yan <leo.yan@linaro.org>
---
arch/arm64/kernel/entry.S | 4 ----
1 file changed, 4 deletions(-)
diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S
index bc6d5a970a13..c41a4cfff527 100644
--- a/arch/arm64/kernel/entry.S
+++ b/arch/arm64/kernel/entry.S
@@ -356,12 +356,8 @@ alternative_else_nop_endif
#ifdef CONFIG_ARM64_ERRATUM_845719
alternative_if ARM64_WORKAROUND_845719
-#ifdef CONFIG_PID_IN_CONTEXTIDR
mrs x29, contextidr_el1
msr contextidr_el1, x29
-#else
- msr contextidr_el1, xzr
-#endif
alternative_else_nop_endif
#endif
3:
--
2.25.1
next prev parent reply other threads:[~2021-10-21 13:45 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-21 13:45 [RFCv1 0/4] arm64: Use static key for PID in CONTEXTIDR Leo Yan
2021-10-21 13:45 ` [RFCv1 1/4] arm64: Use static key for tracing " Leo Yan
2021-10-21 14:33 ` James Clark
2021-10-21 14:37 ` Leo Yan
2021-10-21 15:47 ` Kees Cook
2021-10-21 13:45 ` Leo Yan [this message]
2021-10-21 13:45 ` [RFCv1 3/4] arm64: Introduce functions for controlling PID tracing Leo Yan
2021-10-21 13:45 ` [RFCv1 4/4] perf: arm_spe: Dynamically switch PID tracing to contextidr Leo Yan
2021-10-21 15:49 ` Kees Cook
2021-10-22 2:09 ` Leo Yan
2021-11-01 15:28 ` Leo Yan
2021-12-03 16:22 ` Catalin Marinas
2021-12-05 13:51 ` Leo Yan
2021-12-07 11:48 ` Catalin Marinas
2021-12-07 12:31 ` Leo Yan
2021-12-08 17:29 ` Catalin Marinas
2021-12-10 7:59 ` Leo Yan
2021-12-17 7:58 ` Leo Yan
2022-01-17 18:48 ` Catalin Marinas
2022-02-01 13:02 ` Leo Yan
2021-10-22 15:36 ` James Clark
2021-10-22 15:40 ` James Clark
2021-10-22 16:23 ` James Clark
2021-10-24 10:25 ` Leo Yan
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=20211021134530.206216-3-leo.yan@linaro.org \
--to=leo.yan@linaro.org \
--cc=ardb@kernel.org \
--cc=catalin.marinas@arm.com \
--cc=eranian@google.com \
--cc=james.clark@arm.com \
--cc=james.morse@arm.com \
--cc=joey.gouly@arm.com \
--cc=keescook@chromium.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=maz@kernel.org \
--cc=npiggin@gmail.com \
--cc=pcc@google.com \
--cc=peterz@infradead.org \
--cc=samitolvanen@google.com \
--cc=vincenzo.frascino@arm.com \
--cc=will@kernel.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).