linux/Documentation/arch/arm64
Mark Rutland 7187bb7d0b arm64: errata: Add workaround for Arm errata 3194386 and 3312417
Cortex-X4 and Neoverse-V3 suffer from errata whereby an MSR to the SSBS
special-purpose register does not affect subsequent speculative
instructions, permitting speculative store bypassing for a window of
time. This is described in their Software Developer Errata Notice (SDEN)
documents:

* Cortex-X4 SDEN v8.0, erratum 3194386:
  https://developer.arm.com/documentation/SDEN-2432808/0800/

* Neoverse-V3 SDEN v6.0, erratum 3312417:
  https://developer.arm.com/documentation/SDEN-2891958/0600/

To workaround these errata, it is necessary to place a speculation
barrier (SB) after MSR to the SSBS special-purpose register. This patch
adds the requisite SB after writes to SSBS within the kernel, and hides
the presence of SSBS from EL0 such that userspace software which cares
about SSBS will manipulate this via prctl(PR_GET_SPECULATION_CTRL, ...).

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: James Morse <james.morse@arm.com>
Cc: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20240508081400.235362-5-mark.rutland@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-05-10 12:21:57 +01:00
..
acpi_object_usage.rst Documentation: Fix typos 2023-08-18 11:29:03 -06:00
amu.rst
arm-acpi.rst Documentation/arch/arm64: Fix typo 2023-12-05 14:28:10 +00:00
asymmetric-32bit.rst
booting.rst
cpu-feature-registers.rst arm64/sve: Report FEAT_SVE_B16B16 to userspace 2023-09-29 15:56:17 +01:00
elf_hwcaps.rst arm64/hwcap: Define hwcaps for 2023 DPISA features 2024-03-07 17:14:54 +00:00
features.rst docs: kernel_feat.py: fix potential command injection 2024-01-11 09:21:01 -07:00
hugetlbpage.rst
index.rst
kasan-offsets.sh
kdump.rst
legacy_instructions.rst
memory-tagging-extension.rst
memory.rst
perf.rst Documentation: arm64: Document the PMU event counting threshold feature 2023-12-12 09:46:23 +00:00
pointer-authentication.rst
ptdump.rst
silicon-errata.rst arm64: errata: Add workaround for Arm errata 3194386 and 3312417 2024-05-10 12:21:57 +01:00
sme.rst arm64/sme: Remove spurious 'is' in SME documentation 2024-02-21 18:02:46 +00:00
sve.rst arm64/fp: Clarify effect of setting an unsupported system VL 2024-02-21 18:02:46 +00:00
tagged-address-abi.rst
tagged-pointers.rst