Skip to content

arm64: Add support for speculation barrier instruction (SB)

Will Deacon linux-arm-kernel 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest3 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3arm64: Add support for SB barrier and patch in over DSB; ISB sequencesarch/arm64/include/asm/assembler.h arch/arm64/include/asm/barrier.h arch/arm64/include/asm/cpucaps.h +5 more+40 -30 replies
2/3arm64: entry: Place an SB sequence following an ERET instructionarch/arm64/kernel/entry.S arch/arm64/kvm/hyp/entry.S arch/arm64/kvm/hyp/hyp-entry.S+7 -00 replies
3/3arm64: entry: Remove confusing commentarch/arm64/kernel/entry.S+0 -40 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/3] arm64: Add support for speculation barrier instruction (SB)

Hi all,

As part of the fallout from specdown and meltre, Armv8.5 introduces an architected Speculation Barrier (SB) instruction. Unlike CSDB, this is not retrofitted to existing CPUs, so we need to plumb in an HWCAP and make use of the alternatives framework to patch it over our current DSB; ISB sequence on CPUs that support it.

Cheers,

Will

--->8

Will Deacon (3):
arm64: Add support for SB barrier and patch in over DSB; ISB sequences
arm64: entry: Place an SB sequence following an ERET instruction
arm64: entry: Remove confusing comment

 arch/arm64/include/asm/assembler.h  | 13 +++++++++++++
 arch/arm64/include/asm/barrier.h    |  4 ++++
 arch/arm64/include/asm/cpucaps.h    |  3 ++-
 arch/arm64/include/asm/sysreg.h     |  6 ++++++
 arch/arm64/include/asm/uaccess.h    |  3 +--
 arch/arm64/include/uapi/asm/hwcap.h |  1 +
 arch/arm64/kernel/cpufeature.c      | 12 ++++++++++++
 arch/arm64/kernel/cpuinfo.c         |  1 +
 arch/arm64/kernel/entry.S           |  6 ++----
 arch/arm64/kvm/hyp/entry.S          |  1 +
 arch/arm64/kvm/hyp/hyp-entry.S      |  4 ++++
 11 files changed, 47 insertions(+), 7 deletions(-)
Signature · 1 line
2.1.4