diff options
author | Heiko Schocher | 2010-09-17 13:10:32 +0200 |
---|---|---|
committer | Wolfgang Denk | 2010-09-19 19:29:51 +0200 |
commit | 7e4a9e6dc819b2b3499659ca90e1e9c6d4ca3077 (patch) | |
tree | 5e386feeea7c803a1800484bee8253796c030a39 /arch/arm/cpu/arm1136/start.S | |
parent | 95c6f6d34d4ff23f4d005488d84682eec5fa9ec8 (diff) |
ARM (ARM11): add data cache support, test on Qong board
Add data cache support for arm1136 systems.
Enable "cache" command on Qong board and test performance.
Test 1: Loading 127 MB of data from NAND flash into RAM:
Instr. Cache off on on
Data Cache off off on
--------------------------------------------------
QONG (ARM11) 177s 95s 43s = x 4.1
Test 2: uncompressing a gzipped image from RAM to RAM
(size compressed: 6.5 MiB, uncompressed: 35 MiB):
Instr. Cache off on on
Data Cache off off on
--------------------------------------------------
QONG (ARM11) 1.54s 0.95s 0.18s = x 8.6
Portions of this work were supported by funding from
the CE Linux Forum.
Signed-off-by: Heiko Schocher <hs@denx.de>
Diffstat (limited to 'arch/arm/cpu/arm1136/start.S')
-rw-r--r-- | arch/arm/cpu/arm1136/start.S | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/arm/cpu/arm1136/start.S b/arch/arm/cpu/arm1136/start.S index 41eb82dae24..1c58abdcd05 100644 --- a/arch/arm/cpu/arm1136/start.S +++ b/arch/arm/cpu/arm1136/start.S @@ -439,6 +439,11 @@ fiq: .align 5 .global arm1136_cache_flush arm1136_cache_flush: +#if !defined(CONFIG_SYS_NO_ICACHE) mcr p15, 0, r1, c7, c5, 0 @ invalidate I cache +#endif +#if !defined(CONFIG_SYS_NO_DCACHE) + mcr p15, 0, r1, c7, c14, 0 @ invalidate D cache +#endif mov pc, lr @ back to caller #endif /* CONFIG_PRELOADER */ |