u-boot/arch/arm/mach-k3
Lokesh Vutla e938b22521 arm: K3: Clean and invalidate Linux Image before jumping to Linux
U-Boot cleans and invalidate L1 and L2 caches before jumping to Linux
by set/way in cleanup_before_linux(). Additionally there is a custom
hook provided to clean and invalidate L3 cache.

Unfortunately on K3 devices(having a coherent architecture), there is no
easy way to quickly clean all the cache lines for L3. The entire address
range needs to be cleaned and invalidated by Virtual Address. This can
be implemented using the L3 custom hook but it take lot of time to clean
the entire address range. In the interest of boot time this might not be
a viable solution.

The best hit is to make sure the loaded Linux image is flushed so that
the entire image is written to DDR from L3. When Linux starts running with
caches disabled the full image is available from DDR.

Reported-by: Andrew F. Davis <afd@ti.com>
Reported-by: Faiz Abbas <faiz_abbas@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-10-25 17:33:21 -04:00
..
include/mach arm: k3: Add support for printing CPUINFO 2019-10-11 13:31:18 -04:00
am6_init.c arm: k3: Use get_ti_sci_handle() where ever possible 2019-09-13 11:56:30 -04:00
arm64-mmu.c armv8: K3: j721e: Updated ddr address regions in MMU table 2019-10-11 10:07:59 -04:00
common.c arm: K3: Clean and invalidate Linux Image before jumping to Linux 2019-10-25 17:33:21 -04:00
common.h arm: k3: Add support for printing CPUINFO 2019-10-11 13:31:18 -04:00
config.mk arm: k3: config.mk: Use k3_gen_x509_cert.sh to generate boot images 2019-05-09 20:22:05 -04:00
config_secure.mk arm: mach-k3: Add secure device build support 2019-04-26 17:51:51 -04:00
j721e_init.c armv7R: K3: j721e: Load SYSFW binary and config from boot media 2019-07-26 21:49:27 -04:00
Kconfig arm: K3: common: Allow for early console functionality 2019-10-11 10:07:33 -04:00
lowlevel_init.S armv7r: K3: Allow SPL to run only on core 0 2018-11-26 22:52:11 -05:00
Makefile arm: K3: j721e: Add basic support for J721E SoC definition 2019-07-26 21:49:25 -04:00
r5_mpu.c armv7R: K3: am654: Enable MPU regions 2018-11-16 16:51:58 -05:00
security.c arm: k3: Use get_ti_sci_handle() where ever possible 2019-09-13 11:56:30 -04:00
sysfw-loader.c arm: K3: sysfw-loader: Allow loading SYSFW via Y-Modem 2019-10-11 10:07:33 -04:00