arm64: detect silicon revisions and set cap bits accordingly
authorAndre Przywara <andre.przywara@arm.com>
Fri, 24 Apr 2015 17:30:47 +0000 (10:30 -0700)
committerSasha Levin <sasha.levin@oracle.com>
Mon, 27 Apr 2015 21:13:44 +0000 (17:13 -0400)
commitda767e54e365f4816ffbbf1403e5f7735d363bc3
treec7b3281aefff769b47be835fc62595a8e0826e41
parent6a5a8112e8423ce3b941427b823107765ea7ce6a
arm64: detect silicon revisions and set cap bits accordingly

After each CPU has been started, we iterate through a list of
CPU features or bugs to detect CPUs which need (or could benefit
from) kernel code patches.
For each feature/bug there is a function which checks if that
particular CPU is affected. We will later provide some more generic
functions for common things like testing for certain MIDR ranges.
We do this for every CPU to cover big.LITTLE systems properly as
well.
If a certain feature/bug has been detected, the capability bit will
be set, so that later the call to apply_alternatives() will trigger
the actual code patching.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Cc: <stable@vger.kernel.org> # v3.18.y
(cherry picked from commit e116a375423393cdb94714e90a96857005d58428)
Signed-off-by: Kevin Hilman <khilman@linaro.org>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
arch/arm64/include/asm/cpufeature.h
arch/arm64/kernel/Makefile
arch/arm64/kernel/cpu_errata.c [new file with mode: 0644]
arch/arm64/kernel/cpuinfo.c