boot: zephyr: Fix disabling I/D caches
Fixes an issue whereby the instruction and data caches being
disabled before booting code had bit-rotted and no longer worked,
adds a new Kconfig that allows this option to be turned off if
wanted.
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
diff --git a/boot/zephyr/Kconfig b/boot/zephyr/Kconfig
index b422625..1fd9bfc 100644
--- a/boot/zephyr/Kconfig
+++ b/boot/zephyr/Kconfig
@@ -690,6 +690,16 @@
'mcuboot_status_type_t' is listed in
boot/bootutil/include/bootutil/mcuboot_status.h
+config BOOT_DISABLE_CACHES
+ bool "Disable I/D caches before chain-loading application"
+ depends on CPU_HAS_ICACHE || CPU_HAS_DCACHE
+ default y
+ help
+ Will flush and disable the instruction and data caches on the CPU prior to
+ booting an application, this is required on some ARM Cortex devices and
+ increases protection against data leakage from MCUboot to applications via
+ these caches.
+
endmenu
config MCUBOOT_DEVICE_SETTINGS