summaryrefslogtreecommitdiffstats
path: root/arch/arm/boot
diff options
context:
space:
mode:
authorNicolas Pitre <nico@cam.org>2007-10-31 20:31:48 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2008-01-26 16:03:40 +0100
commit3ebb5a2b44b02bddd5fbf0f29d71f1df6146c2c3 (patch)
tree04d6e0c54c2bbd502f15044801c29157671d7568 /arch/arm/boot
parent[ARM] add ARMv5TEJ aware cache flush method to compressed/head.S (diff)
downloadlinux-3ebb5a2b44b02bddd5fbf0f29d71f1df6146c2c3.tar.xz
linux-3ebb5a2b44b02bddd5fbf0f29d71f1df6146c2c3.zip
[ARM] add Feroceon support to compressed/head.S
The cache replacement policy on the Feroceon core doesn't guarantee that reading through a linear chunk of memory flushes the entire cache. This is however what the default method for ARMv5TE cores does. Although the Feroceon is an ARMv5TE core, it implements the same cache handling instructions as the ARMv5TEJ cores, and must use it for proper cache flush. Signed-off-by: Nicolas Pitre <nico@marvell.com> Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/boot')
-rw-r--r--arch/arm/boot/compressed/head.S6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
index 2073bf080523..3c2c8f2a1dc4 100644
--- a/arch/arm/boot/compressed/head.S
+++ b/arch/arm/boot/compressed/head.S
@@ -623,6 +623,12 @@ proc_types:
b __armv4_mmu_cache_off
b __armv4_mmu_cache_flush
+ .word 0x56055310 @ Feroceon
+ .word 0xfffffff0
+ b __armv4_mmu_cache_on
+ b __armv4_mmu_cache_off
+ b __armv5tej_mmu_cache_flush
+
@ These match on the architecture ID
.word 0x00020000 @ ARMv4T