u-boot/arch/arm
Nishanth Menon c2ca3fdfb9 ARM: Introduce ability to enable invalidate of BTB with ICIALLU on Cortex-A15 for CVE-2017-5715
As recommended by Arm in [1], ACTLR[0] (Enable invalidates of BTB)
needs to be set[2] for BTB to be invalidated on ICIALLU. This needs to
be done unconditionally for Cortex-A15 processors. Provide a config
option for platforms to enable this option based on impact analysis
for products.

NOTE: This patch in itself is NOT the final solution, this requires:
a) Implementation of v7_arch_cp15_set_acr on SoCs which may not
   provide direct access to ACR register.
b) Operating Systems such as Linux to provide adequate workaround in the
   right locations.
c) This workaround applies to only the boot processor. It is important
   to apply workaround as necessary (context-save-restore) around low
   power context loss OR additional processors as necessary in either
   firmware support OR elsewhere in OS.

[1] https://developer.arm.com/support/security-update
[2] http://infocenter.arm.com/help/topic/com.arm.doc.ddi0438c/BABGHIBG.html

Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Robin Murphy <robin.murphy@arm.com>
Cc: Florian Fainelli <f.fainelli@gmail.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Christoffer Dall <christoffer.dall@linaro.org>
Cc: Andre Przywara <Andre.Przywara@arm.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Tom Rini <trini@konsulko.com>
Cc: Michael Nazzareno Trimarchi <michael@amarulasolutions.com>

Signed-off-by: Nishanth Menon <nm@ti.com>
Tested-by: Fabio Estevam <fabio.estevam@nxp.com>
2018-06-29 11:30:39 -04:00
..
cpu ARM: Introduce ability to enable invalidate of BTB with ICIALLU on Cortex-A15 for CVE-2017-5715 2018-06-29 11:30:39 -04:00
dts Merge git://git.denx.de/u-boot-imx 2018-06-27 13:09:55 -04:00
include meson: use the clock driver 2018-06-19 07:31:47 -04:00
lib ARM: image: Add option for ignoring ep bit 3 2018-06-19 07:31:45 -04:00
mach-aspeed regmap: change regmap_init_mem() to take ofnode instead udevice 2018-05-07 15:49:51 -04:00
mach-at91 at91: Minor tweaks to SPL logic for space savings on smartweb 2018-05-22 22:08:57 -04:00
mach-bcm283x efi_loader: Convert runtime reset from switch to if statements 2018-06-14 10:52:14 +02:00
mach-davinci dm: gpio: Add DM compatibility to GPIO driver for Davinci 2018-06-18 14:43:12 -04:00
mach-exynos arm: v7: Kconfig: Rename CPU_V7 as CPU_V7A 2018-05-07 15:53:24 -04:00
mach-highbank SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
mach-imx Merge git://git.denx.de/u-boot-imx 2018-06-27 13:09:55 -04:00
mach-integrator env: Convert CONFIG_ENV_IS_IN... to a choice 2017-08-15 20:50:01 -04:00
mach-keystone SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
mach-kirkwood ARM: add SBx81LIFKW board 2018-06-05 07:29:09 +02:00
mach-meson meson: use the clock driver 2018-06-19 07:31:47 -04:00
mach-mvebu arm: mvebu: Add Helios4 Armada 38x initial support 2018-06-12 13:17:19 +02:00
mach-omap2 arm: mach-omap2/omap3/clock.c: Enable all GPIO with CMD_GPIO 2018-06-18 14:43:13 -04:00
mach-orion5x ARM: orion5x: fix use of callee-saved registers in lowloevel_init 2018-06-07 09:12:26 -04:00
mach-qemu arm: v7: Kconfig: Rename CPU_V7 as CPU_V7A 2018-05-07 15:53:24 -04:00
mach-rmobile ARM: renesas: Add R8A77990 E3 Ebisu board 2018-06-01 09:47:21 +02:00
mach-rockchip fastboot: Rename fb_set_reboot_flag to fastboot_set_reboot_flag 2018-05-30 11:59:21 +02:00
mach-s5pc1xx SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
mach-snapdragon mach-snapdragon: increase size of malloc pool 2018-05-29 11:01:37 -04:00
mach-socfpga SPDX: Fixup SPDX tags in a few new files 2018-05-20 09:47:45 -04:00
mach-sti board: Add STMicroelectronics STiH410-B2260 support 2017-03-14 20:40:21 -04:00
mach-stm32 mach-stm32: Enable SPL_RESET_SUPPORT flag 2018-06-05 20:19:09 -04:00
mach-stm32mp stm32mp1: use OTP to configure MAC address and serial number 2018-05-26 18:19:18 -04:00
mach-sunxi ARM: sunxi: remove empty #ifdef/endif block 2018-06-18 14:02:03 -04:00
mach-tegra arm: v7: Kconfig: Rename CPU_V7 as CPU_V7A 2018-05-07 15:53:24 -04:00
mach-uniphier ARM: uniphier: rename environment variable fdt_file to fdtfile 2018-05-23 00:32:39 +09:00
mach-versatile SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
mach-zynq arm: zynq: Remove checkboard and enable DISPLAY_CPUINFO 2018-05-11 09:23:43 +02:00
mach-zynqmp-r5 arm: zynqmp: Add ZynqMP minimal R5 support 2018-05-11 09:38:23 +02:00
thumb1/include/asm/proc-armv SPDX: Convert a few files that were missed before 2018-05-10 20:38:35 -04:00
config.mk SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
Kconfig ARM: Introduce ability to enable invalidate of BTB with ICIALLU on Cortex-A15 for CVE-2017-5715 2018-06-29 11:30:39 -04:00
Kconfig.debug
Makefile arm: armv7m: Clean up some thumb / compiler flag options 2018-05-23 13:03:42 -04:00