linux/arch/arm64
Mark Rutland 127161aaf0 arm64: add runtime system sanity checks
Unexpected variation in certain system register values across CPUs is an
indicator of potential problems with a system. The kernel expects CPUs
to be mostly identical in terms of supported features, even in systems
with heterogeneous CPUs, with uniform instruction set support being
critical for the correct operation of userspace.

To help detect issues early where hardware violates the expectations of
the kernel, this patch adds simple runtime sanity checks on important ID
registers in the bring up path of each CPU.

Where CPUs are fundamentally mismatched, set TAINT_CPU_OUT_OF_SPEC.
Given that the kernel assumes CPUs are identical feature wise, let's not
pretend that we expect such configurations to work. Supporting such
configurations would require massive rework, and hopefully they will
never exist.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Reviewed-by: Will Deacon <will.deacon@arm.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2014-07-18 15:24:11 +01:00
..
boot arm64: dts: Add more serial port nodes in APM X-Gene device tree 2014-06-18 12:41:55 +01:00
configs arm64: defconfig update for LTP 2014-06-18 12:40:52 +01:00
crypto arm64/crypto: improve performance of GHASH algorithm 2014-06-18 12:40:54 +01:00
include arm64: cachetype: report weakest cache policy 2014-07-18 15:24:10 +01:00
kernel arm64: add runtime system sanity checks 2014-07-18 15:24:11 +01:00
kvm - Optimised assembly string/memory routines (based on the AArch64 Cortex 2014-06-06 10:43:28 -07:00
lib arm64: lib: Implement optimized string length routines 2014-05-23 15:17:12 +01:00
mm arm64: place initial page tables above the kernel 2014-07-10 12:36:12 +01:00
xen arm: xen: implement multicall hypercall support. 2014-04-24 13:09:46 +01:00
Kconfig arm64: Add audit support 2014-07-10 11:06:00 +01:00
Kconfig.debug arm64: Enable TEXT_OFFSET fuzzing 2014-07-10 12:36:58 +01:00
Makefile arm64: Enable TEXT_OFFSET fuzzing 2014-07-10 12:36:58 +01:00