]> git.dujemihanovic.xyz Git - u-boot.git/commit
ARM: tegra: translate __asm_flush_l3_cache to assembly
authorStephen Warren <swarren@nvidia.com>
Wed, 19 Oct 2016 21:18:45 +0000 (15:18 -0600)
committerTom Warren <twarren@nvidia.com>
Mon, 7 Nov 2016 22:36:28 +0000 (14:36 -0800)
commitb9ae6415b6a099478c71fc3d410fc9a3776d7afa
treeb6c1c48ee3dd744c194cbfe57782396c3dafd664
parent6db8e17892d9f7e2115f335c0a3bcada74273125
ARM: tegra: translate __asm_flush_l3_cache to assembly

When performing a cache disable function, code must not access DRAM.
That is because when the cache is disabled, it will be bypassed and all
loads and stores will be serviced by RAM. This prevents accessing any
dirty data in the cache. In turn, this means the stack cannot be
used, since that is in RAM. To guarantee that code doesn't use RAM (and
in particular the stack) __asm_flush_l3_cache() must be manually
implemented in assembly, rather than implemented in C since the compiler
won't know not to touch RAM.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
arch/arm/mach-tegra/tegra186/cache.S [new file with mode: 0644]
arch/arm/mach-tegra/tegra186/cache.c [deleted file]