armv7: cache maintenance operations for armv7
authorAneesh V <aneesh@ti.com>
Thu, 16 Jun 2011 23:30:47 +0000 (23:30 +0000)
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>
Mon, 4 Jul 2011 08:55:25 +0000 (10:55 +0200)
commit2c451f7831208741d0ff7ca6046cffcd9ee49def
treeec885d6ce9bc97eca3128e83e9af35c5b063ffe1
parent4c93da7c392737f2036130c240e2b4bea773d703
armv7: cache maintenance operations for armv7

- Add a framework for layered cache maintenance
- separate out SOC specific outer cache maintenance from
  maintenance of caches known to CPU

- Add generic ARMv7 cache maintenance operations that affect all
  caches known to ARMv7 CPUs. For instance in Cortex-A8 these
  opertions will affect both L1 and L2 caches. In Cortex-A9
  these will affect only L1 cache

- D-cache operations supported:
- Invalidate entire D-cache
- Invalidate D-cache range
- Flush(clean & invalidate) entire D-cache
- Flush D-cache range
- I-cache operations supported:
- Invalidate entire I-cache

- Add maintenance functions for TLB, branch predictor array etc.

- Enable -march=armv7-a so that armv7 assembly instructions can be
  used

Signed-off-by: Aneesh V <aneesh@ti.com>
README
arch/arm/cpu/armv7/Makefile
arch/arm/cpu/armv7/cache_v7.c [new file with mode: 0644]
arch/arm/include/asm/armv7.h [new file with mode: 0644]
arch/arm/include/asm/utils.h [new file with mode: 0644]
include/common.h