Workaround for CVE-2017-5715 for Cortex A9, A15 and A17
authorDimitris Papastamos <dimitris.papastamos@arm.com>
Wed, 3 Jan 2018 10:48:59 +0000 (10:48 +0000)
committerDimitris Papastamos <dimitris.papastamos@arm.com>
Thu, 18 Jan 2018 10:36:25 +0000 (10:36 +0000)
commite4b34efa18f1cac10aa8541bc0a1dbab49886009
treeba91227084b8bf3ccc28434cafa3466c5e9d9afd
parent7343505d9661ab6481e99fa96d60f2a8447a4565
Workaround for CVE-2017-5715 for Cortex A9, A15 and A17

A per-cpu vbar is installed that implements the workaround by
invalidating the branch target buffer (BTB) directly in the case of A9
and A17 and indirectly by invalidating the icache in the case of A15.

For Cortex A57 and A72 there is currently no workaround implemented
when EL3 is in AArch32 mode so report it as missing.

For other vulnerable CPUs (e.g. Cortex A73 and Cortex A75), there are
no changes since there is currently no upstream AArch32 EL3 support
for these CPUs.

Change-Id: Ib42c6ef0b3c9ff2878a9e53839de497ff736258f
Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>
include/lib/cpus/aarch32/cortex_a15.h
lib/cpus/aarch32/cortex_a15.S
lib/cpus/aarch32/cortex_a17.S
lib/cpus/aarch32/cortex_a57.S
lib/cpus/aarch32/cortex_a72.S
lib/cpus/aarch32/cortex_a9.S