Thread (6 messages) flat view 6 messages, 3 authors, 2019-11-11

Re: [PATCH 1/2] arm64: Rename WORKAROUND_1165522 to SPECULATIVE_AT

From: Steven Price <steven.price@arm.com>
Date: 2019-11-11 16:07:45
Also in: kvmarm, lkml

On 11/11/2019 15:42, Marc Zyngier wrote:
Hi Steven,

On 2019-11-11 15:21, Steven Price wrote:
quoted
Cortex-A55 is affected by a similar erratum, so rename the existing
workaround for errarum 1165522 so it can be used for both errata.
nit: erratum
Thanks, I do seem to have trouble spelling it correctly :)
quoted
Signed-off-by: Steven Price <steven.price@arm.com>
---
 arch/arm64/Kconfig                |  4 ++++
 arch/arm64/include/asm/cpucaps.h  |  2 +-
 arch/arm64/include/asm/kvm_host.h |  2 +-
 arch/arm64/include/asm/kvm_hyp.h  |  3 +--
 arch/arm64/kernel/cpu_errata.c    | 17 +++++++++++++----
 arch/arm64/kvm/hyp/switch.c       |  2 +-
 arch/arm64/kvm/hyp/tlb.c          |  4 ++--
 7 files changed, 23 insertions(+), 11 deletions(-)
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index 3f047afb982c..6cb4eff602c6 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -510,9 +510,13 @@ config ARM64_ERRATUM_1418040
       If unsure, say Y.

+config ARM64_WORKAROUND_SPECULATIVE_AT
+    bool
+
 config ARM64_ERRATUM_1165522
     bool "Cortex-A76: Speculative AT instruction using out-of-context
translation regime could cause subsequent request to generate an
incorrect translation"
     default y
+    select ARM64_WORKAROUND_SPECULATIVE_AT
I'd object that ARM64_ERRATUM_1319367 (and its big brother 1319537)
are also related to speculative AT execution, and yet are not covered
by this configuration symbol.
Good point.
I can see three solutions to this:

- Either you call it SPECULATIVE_AT_VHE and introduce SPECULATIVE_AT_NVHE
  for symmetry
Tempting...
- Or you make SPECULATIVE_AT cover all the speculative AT errata, which
  may or may not work...
This actually sounds the neatest, but I'm not sure whether there's going
to be any conflicts between VHE/NVHE. I'll prototype this and see how
ugly it is.
- Or even better, you just ammend the documentation to say that 1165522
  also covers the newly found A55 one (just like we have for A57/A72)
Well Mark Rutland disliked my initial thoughts about just including both
errata in one option like that - hence the refactoring in this patch.
Although of course that's exactly what's happened with 1319367/1319537...
What do you think?
I'll have a go at SPECULATIVE_AT covering both VHE/NVHE - from an
initial look it seems like it should work and it would be neat if it
does. In particular it should avoid the necessity to require VHE when
the erratum is present.

Otherwise I guess SPECULATIVE_AT_{,N}VHE is probably second best.

Thanks,

Steve

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help