u-boot/arch/arm/cpu
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
..
arm720t Reduce build times 2011-11-03 20:44:58 +01:00
arm920t Fix Stelian's email address 2011-11-29 15:43:38 +01:00
arm925t Reduce build times 2011-11-03 20:44:58 +01:00
arm926ejs arm, arm926ejs: Fix clear bss loop for zero length bss 2011-12-06 23:59:33 +01:00
arm946es Reduce build times 2011-11-03 20:44:58 +01:00
arm1136 mx31: Fix checkpatch warnings in generic.c 2011-11-11 11:36:58 +01:00
arm1176 Reduce build times 2011-11-03 20:44:58 +01:00
arm_intcm Reduce build times 2011-11-03 20:44:58 +01:00
armv7 armv7: disable L2 cache in cleanup_before_linux() 2011-12-06 23:59:33 +01:00
ixp Reduce build times 2011-11-03 20:44:58 +01:00
lh7a40x Reduce build times 2011-11-03 20:44:58 +01:00
pxa PXA: Rename pxa_dram_init to pxa2xx_dram_init 2011-12-06 23:59:33 +01:00
s3c44b0 Reduce build times 2011-11-03 20:44:58 +01:00
sa1100 Reduce build times 2011-11-03 20:44:58 +01:00