android_kernel_motorola_sm6225/arch/arm64
James Morse 05959ed85e arm64: assembler: Switch ESB-instruction with a vanilla nop if !ARM64_HAS_RAS
[ Upstream commit 2b68a2a963a157f024c67c0697b16f5f792c8a35 ]

The ESB-instruction is a nop on CPUs that don't implement the RAS
extensions. This lets us use it in places like the vectors without
having to use alternatives.

If someone disables CONFIG_ARM64_RAS_EXTN, this instruction still has
its RAS extensions behaviour, but we no longer read DISR_EL1 as this
register does depend on alternatives.

This could go wrong if we want to synchronize an SError from a KVM
guest. On a CPU that has the RAS extensions, but the KConfig option
was disabled, we consume the pending SError with no chance of ever
reading it.

Hide the ESB-instruction behind the CONFIG_ARM64_RAS_EXTN option,
outputting a regular nop if the feature has been disabled.

Reported-by: Julien Thierry <julien.thierry@arm.com>
Signed-off-by: James Morse <james.morse@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-07-31 07:27:05 +02:00
..
boot arm64: tegra: Fix AGIC register range 2019-07-26 09:14:24 +02:00
configs arm64: defconfig: Enable TI's AM6 SoC platform 2018-08-29 11:51:26 -07:00
crypto crypto: arm64/sha2-ce - correct digest for empty data in finup 2019-07-26 09:14:19 +02:00
include arm64: assembler: Switch ESB-instruction with a vanilla nop if !ARM64_HAS_RAS 2019-07-31 07:27:05 +02:00
kernel acpi/arm64: ignore 5.1 FADTs that are reported as 5.0 2019-07-26 09:14:10 +02:00
kvm KVM: arm/arm64: Move cc/it checks under hyp's Makefile to avoid instrumentation 2019-06-19 08:18:04 +02:00
lib arm64: lse: remove -fcall-used-x0 flag 2018-11-13 11:08:54 -08:00
mm arm64: mm: make CONFIG_ZONE_DMA32 configurable 2019-07-26 09:14:04 +02:00
net bpf, arm64: use more scalable stadd over ldxr / stxr loop in xadd 2019-07-03 13:14:49 +02:00
xen arm64: mm: Add additional parameter to uaccess_ttbr0_disable 2018-01-17 13:57:49 +01:00
Kconfig arm64: mm: make CONFIG_ZONE_DMA32 configurable 2019-07-26 09:14:04 +02:00
Kconfig.debug Kconfig: consolidate the "Kernel hacking" menu 2018-08-02 08:06:48 +09:00
Kconfig.platforms ARM: SoC: late updates 2018-08-25 14:12:36 -07:00
Makefile arm64: Don't unconditionally add -Wno-psabi to KBUILD_CFLAGS 2019-07-03 13:14:41 +02:00