u-boot-brain/arch
Aneesh V dc7100f408 armv7: disable L2 cache in cleanup_before_linux()
We were not disabling external caches before jumping
to kernel. We were flushing all caches including
external caches and disabling caches globally in
CP15 System Control register. Apparently this is not
enough.

The bootstrap loader in Linux kernel that does decompression
enables data-caches again, flush them after use and disable
them before jumping to kernel proper. However, it's not aware
of the external caches.

Since we have left external cache enabled, external cache will
get used once caches are enabled globally, but it's not flushed
because decompressor is not aware of external caches. When it
jumps to kernel with caches disabled globally, we have stale
data in the external cache and a coherency problem.

This was breaking the boot for OMAP4 with latest mainline
kernel. The solution is to disable external caches in
cleanup_before_linux(). With this fix kernel is booting again.

Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Signed-off-by: Aneesh V <aneesh@ti.com>
2011-12-06 23:59:33 +01:00
..
arm armv7: disable L2 cache in cleanup_before_linux() 2011-12-06 23:59:33 +01:00
avr32 avr32: Use getenv_ulong() in place of getenv(), strtoul 2011-10-23 23:33:17 +02:00
blackfin Blackfin: cache result of cpp check 2011-11-18 22:13:26 -05:00
m68k m68k: fix ambiguous bit testing 2011-12-05 21:55:25 +01:00
microblaze microblaze: Fix strict-aliasing rules for in_be32 2011-10-24 07:57:03 +02:00
mips mips: Use getenv_ulong() in place of getenv(), strtoul 2011-10-23 23:33:19 +02:00
nds32 nds32/ag101: clean up for SoC related code 2011-11-23 14:05:51 +08:00
nios2 nios2: Offer ft_board_setup() capability and call fdt_fixup_ethernet(). 2011-10-30 21:02:43 +08:00
powerpc arch/powerpc/cpu/mpc86xx/cpu.c: Fix GCC 4.6 build warning 2011-12-02 00:16:46 +01:00
sandbox sandbox: drop unused return 2011-11-03 22:35:25 +01:00
sh sh: Add support Renesas SH7724 2011-12-02 13:46:21 +09:00
sparc sparc: fix unused variable warnings 2011-12-05 21:55:24 +01:00
x86 x86: Wrap small helper functions from libgcc to avoid an ABI mismatch 2011-11-29 21:31:24 +11:00
.gitignore update include/asm/ gitignore after move 2010-05-07 00:17:30 +02:00