arm64: sanity checks: ignore ID_MMFR0.AuxReg
authorMark Rutland <mark.rutland@arm.com>
Tue, 25 Nov 2014 13:27:41 +0000 (13:27 +0000)
committerWill Deacon <will.deacon@arm.com>
Tue, 25 Nov 2014 15:56:43 +0000 (15:56 +0000)
commit9760270c36a4d2ac640ea6294f4f8634a8b27121
treebe7e969449fcf8825f5b55ed89ebb8213163a27e
parent1cefdaea613bcd247b2235079fcbb0ca4687542d
arm64: sanity checks: ignore ID_MMFR0.AuxReg

It seems that Cortex-A53 r0p4 added support for AIFSR and ADFSR, and
ID_MMFR0.AuxReg has been updated accordingly to report this fact. As
Cortex-A53 could be paired with CPUs which do not implement these
registers (e.g. all current revisions of Cortex-A57), this may trigger a
sanity check failure at boot.

The AuxReg value describes the availability of the ACTLR, AIFSR, and
ADFSR registers, which are only of use to 32-bit guest OSs, and have
IMPLEMENTATION DEFINED contents. Given the nature of these registers it
is likely that KVM will need to trap accesses regardless of whether the
CPUs are heterogeneous.

This patch masks out the ID_MMFR0.AuxReg value from the sanity checks,
preventing spurious warnings at boot time.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Reported-by: Andre Przywara <andre.przywara@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/kernel/cpuinfo.c