u-boot-brain/arch/arm/cpu/armv7
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
..
am33xx ARM:AM33XX: Add support for TI AM335X EVM 2011-10-27 21:56:36 +02:00
highbank ARM: Add Calxeda Highbank platform 2011-10-27 21:56:37 +02:00
mx5 mx53: Turn off child clocks before reconfigure perclk_root 2011-11-04 22:06:37 +01:00
omap3 OMAP3: Use sdelay from arch/arm/cpu/armv7/syslib.c instead of cloning that. 2011-11-29 15:43:38 +01:00
omap4 omap4/5: Add support for booting with CH. 2011-11-15 22:25:50 +01:00
omap5 omap4/5: Add support for booting with CH. 2011-11-15 22:25:50 +01:00
omap-common omap4/5: Add support for booting with CH. 2011-11-15 22:25:50 +01:00
s5p-common arch/arm/cpu/armv7/s5p-common/pwm.c: fix GCC 4.6 warning 2011-11-16 21:37:01 +01:00
s5pc1xx armv7: adapt s5pc1xx to the new cache maintenance framework 2011-07-04 10:55:25 +02:00
s5pc2xx S5PC2XX: clock: support pwm clock for evt1 (cpu revision 1) 2011-05-26 19:33:25 +09:00
tegra2 Merge branch 'master' of git://git.denx.de/u-boot-arm 2011-10-28 00:15:19 +02:00
u8500 Timer: Remove set_timer completely 2011-07-26 14:52:17 +02:00
cache_v7.c armv7: cache: remove flush on un-aligned invalidate 2011-09-04 11:36:16 +02:00
config.mk Reduce build times 2011-11-03 20:44:58 +01:00
cpu.c armv7: disable L2 cache in cleanup_before_linux() 2011-12-06 23:59:33 +01:00
Makefile omap: add basic SPL support 2011-08-03 12:49:20 +02:00
start.S omap: add MMC and FAT support to SPL 2011-08-03 12:49:20 +02:00
syslib.c ARMV7: Vexpress: fix build errors 2010-12-08 23:44:21 +01:00
u-boot.lds armv7: start.S: fixes and enhancements for SPL 2011-08-03 12:49:20 +02:00