linux/arch/arm64
Suzuki K Poulose fa0c0dce58 KVM: arm64: Hide system instruction access to Trace registers
[ Upstream commit 1d676673d6 ]

Currently we advertise the ID_AA6DFR0_EL1.TRACEVER for the guest,
when the trace register accesses are trapped (CPTR_EL2.TTA == 1).
So, the guest will get an undefined instruction, if trusts the
ID registers and access one of the trace registers.
Lets be nice to the guest and hide the feature to avoid
unexpected behavior.

Even though this can be done at KVM sysreg emulation layer,
we do this by removing the TRACEVER from the sanitised feature
register field. This is fine as long as the ETM drivers
can handle the individual trace units separately, even
when there are differences among the CPUs.

Cc: Will Deacon <will@kernel.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210323120647.454211-2-suzuki.poulose@arm.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-04-16 11:43:19 +02:00
..
boot arm64: dts: imx8mm/q: Fix pad control of SD1_DATA0 2021-04-14 08:42:07 +02:00
configs arm64: defconfig: Build in CONFIG_GPIO_MXC by default 2020-10-26 15:48:58 +08:00
crypto crypto: arm64/sha - add missing module aliases 2021-03-04 11:38:31 +01:00
include KVM: arm64: Fix nVHE hyp panic host context restore 2021-03-17 17:06:37 +01:00
kernel KVM: arm64: Hide system instruction access to Trace registers 2021-04-16 11:43:19 +02:00
kvm KVM: arm64: Fix nVHE hyp panic host context restore 2021-03-17 17:06:37 +01:00
lib arm64: Change .weak to SYM_FUNC_START_WEAK_PI for arch/arm64/lib/mem*.S 2020-10-30 08:32:31 +00:00
mm arm64: mm: correct the inside linear map range during hotplug check 2021-04-07 15:00:03 +02:00
net arm64: bpf: Fix branch offset in JIT 2020-09-17 12:05:36 +01:00
xen
Kbuild
Kconfig arm64: Make CPU_BIG_ENDIAN depend on ld.bfd or ld.lld 13.0.0+ 2021-03-11 14:17:22 +01:00
Kconfig.debug
Kconfig.platforms arm64: berlin: Select DW_APB_TIMER_OF 2020-10-26 10:45:03 +01:00
Makefile arm64: link with -z norelro for LLD or aarch64-elf 2021-01-12 20:18:24 +01:00