Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 221026
b: refs/heads/master
c: c8c9086
h: refs/heads/master
v: v3
  • Loading branch information
Mika Westerberg authored and Russell King committed Oct 28, 2010
1 parent 52179dc commit f91a361
Show file tree
Hide file tree
Showing 19 changed files with 226 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 4e54d93d3c9846ba1c2644ad06463dafa690d1b7
refs/heads/master: c8c90860cd3592fac83a349f84a20360a6498727
12 changes: 12 additions & 0 deletions trunk/arch/arm/mm/cache-fa.S
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,17 @@
/* FIXME: put optimal value here. Current one is just estimation */
#define CACHE_DLIMIT (CACHE_DSIZE * 2)

/*
* flush_icache_all()
*
* Unconditionally clean and invalidate the entire icache.
*/
ENTRY(fa_flush_icache_all)
mov r0, #0
mcr p15, 0, r0, c7, c5, 0 @ invalidate I cache
mov pc, lr
ENDPROC(fa_flush_icache_all)

/*
* flush_user_cache_all()
*
Expand Down Expand Up @@ -233,6 +244,7 @@ ENDPROC(fa_dma_unmap_area)

.type fa_cache_fns, #object
ENTRY(fa_cache_fns)
.long fa_flush_icache_all
.long fa_flush_kern_cache_all
.long fa_flush_user_cache_all
.long fa_flush_user_cache_range
Expand Down
10 changes: 10 additions & 0 deletions trunk/arch/arm/mm/cache-v3.S
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,15 @@
#include <asm/page.h>
#include "proc-macros.S"

/*
* flush_icache_all()
*
* Unconditionally clean and invalidate the entire icache.
*/
ENTRY(v3_flush_icache_all)
mov pc, lr
ENDPROC(v3_flush_icache_all)

/*
* flush_user_cache_all()
*
Expand Down Expand Up @@ -122,6 +131,7 @@ ENDPROC(v3_dma_map_area)

.type v3_cache_fns, #object
ENTRY(v3_cache_fns)
.long v3_flush_icache_all
.long v3_flush_kern_cache_all
.long v3_flush_user_cache_all
.long v3_flush_user_cache_range
Expand Down
10 changes: 10 additions & 0 deletions trunk/arch/arm/mm/cache-v4.S
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,15 @@
#include <asm/page.h>
#include "proc-macros.S"

/*
* flush_icache_all()
*
* Unconditionally clean and invalidate the entire icache.
*/
ENTRY(v4_flush_icache_all)
mov pc, lr
ENDPROC(v4_flush_icache_all)

/*
* flush_user_cache_all()
*
Expand Down Expand Up @@ -134,6 +143,7 @@ ENDPROC(v4_dma_map_area)

.type v4_cache_fns, #object
ENTRY(v4_cache_fns)
.long v4_flush_icache_all
.long v4_flush_kern_cache_all
.long v4_flush_user_cache_all
.long v4_flush_user_cache_range
Expand Down
12 changes: 12 additions & 0 deletions trunk/arch/arm/mm/cache-v4wb.S
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,17 @@ flush_base:
.long FLUSH_BASE
.text

/*
* flush_icache_all()
*
* Unconditionally clean and invalidate the entire icache.
*/
ENTRY(v4wb_flush_icache_all)
mov r0, #0
mcr p15, 0, r0, c7, c5, 0 @ invalidate I cache
mov pc, lr
ENDPROC(v4wb_flush_icache_all)

/*
* flush_user_cache_all()
*
Expand Down Expand Up @@ -244,6 +255,7 @@ ENDPROC(v4wb_dma_unmap_area)

.type v4wb_cache_fns, #object
ENTRY(v4wb_cache_fns)
.long v4wb_flush_icache_all
.long v4wb_flush_kern_cache_all
.long v4wb_flush_user_cache_all
.long v4wb_flush_user_cache_range
Expand Down
12 changes: 12 additions & 0 deletions trunk/arch/arm/mm/cache-v4wt.S
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,17 @@
*/
#define CACHE_DLIMIT 16384

/*
* flush_icache_all()
*
* Unconditionally clean and invalidate the entire icache.
*/
ENTRY(v4wt_flush_icache_all)
mov r0, #0
mcr p15, 0, r0, c7, c5, 0 @ invalidate I cache
mov pc, lr
ENDPROC(v4wt_flush_icache_all)

/*
* flush_user_cache_all()
*
Expand Down Expand Up @@ -188,6 +199,7 @@ ENDPROC(v4wt_dma_map_area)

.type v4wt_cache_fns, #object
ENTRY(v4wt_cache_fns)
.long v4wt_flush_icache_all
.long v4wt_flush_kern_cache_all
.long v4wt_flush_user_cache_all
.long v4wt_flush_user_cache_range
Expand Down
15 changes: 15 additions & 0 deletions trunk/arch/arm/mm/proc-arm1020.S
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,20 @@ ENTRY(cpu_arm1020_do_idle)
/* ================================= CACHE ================================ */

.align 5

/*
* flush_icache_all()
*
* Unconditionally clean and invalidate the entire icache.
*/
ENTRY(arm1020_flush_icache_all)
#ifndef CONFIG_CPU_ICACHE_DISABLE
mov r0, #0
mcr p15, 0, r0, c7, c5, 0 @ invalidate I cache
#endif
mov pc, lr
ENDPROC(arm1020_flush_icache_all)

/*
* flush_user_cache_all()
*
Expand Down Expand Up @@ -351,6 +365,7 @@ ENTRY(arm1020_dma_unmap_area)
ENDPROC(arm1020_dma_unmap_area)

ENTRY(arm1020_cache_fns)
.long arm1020_flush_icache_all
.long arm1020_flush_kern_cache_all
.long arm1020_flush_user_cache_all
.long arm1020_flush_user_cache_range
Expand Down
15 changes: 15 additions & 0 deletions trunk/arch/arm/mm/proc-arm1020e.S
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,20 @@ ENTRY(cpu_arm1020e_do_idle)
/* ================================= CACHE ================================ */

.align 5

/*
* flush_icache_all()
*
* Unconditionally clean and invalidate the entire icache.
*/
ENTRY(arm1020e_flush_icache_all)
#ifndef CONFIG_CPU_ICACHE_DISABLE
mov r0, #0
mcr p15, 0, r0, c7, c5, 0 @ invalidate I cache
#endif
mov pc, lr
ENDPROC(arm1020e_flush_icache_all)

/*
* flush_user_cache_all()
*
Expand Down Expand Up @@ -337,6 +351,7 @@ ENTRY(arm1020e_dma_unmap_area)
ENDPROC(arm1020e_dma_unmap_area)

ENTRY(arm1020e_cache_fns)
.long arm1020e_flush_icache_all
.long arm1020e_flush_kern_cache_all
.long arm1020e_flush_user_cache_all
.long arm1020e_flush_user_cache_range
Expand Down
15 changes: 15 additions & 0 deletions trunk/arch/arm/mm/proc-arm1022.S
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,20 @@ ENTRY(cpu_arm1022_do_idle)
/* ================================= CACHE ================================ */

.align 5

/*
* flush_icache_all()
*
* Unconditionally clean and invalidate the entire icache.
*/
ENTRY(arm1022_flush_icache_all)
#ifndef CONFIG_CPU_ICACHE_DISABLE
mov r0, #0
mcr p15, 0, r0, c7, c5, 0 @ invalidate I cache
#endif
mov pc, lr
ENDPROC(arm1022_flush_icache_all)

/*
* flush_user_cache_all()
*
Expand Down Expand Up @@ -326,6 +340,7 @@ ENTRY(arm1022_dma_unmap_area)
ENDPROC(arm1022_dma_unmap_area)

ENTRY(arm1022_cache_fns)
.long arm1022_flush_icache_all
.long arm1022_flush_kern_cache_all
.long arm1022_flush_user_cache_all
.long arm1022_flush_user_cache_range
Expand Down
15 changes: 15 additions & 0 deletions trunk/arch/arm/mm/proc-arm1026.S
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,20 @@ ENTRY(cpu_arm1026_do_idle)
/* ================================= CACHE ================================ */

.align 5

/*
* flush_icache_all()
*
* Unconditionally clean and invalidate the entire icache.
*/
ENTRY(arm1026_flush_icache_all)
#ifndef CONFIG_CPU_ICACHE_DISABLE
mov r0, #0
mcr p15, 0, r0, c7, c5, 0 @ invalidate I cache
#endif
mov pc, lr
ENDPROC(arm1026_flush_icache_all)

/*
* flush_user_cache_all()
*
Expand Down Expand Up @@ -320,6 +334,7 @@ ENTRY(arm1026_dma_unmap_area)
ENDPROC(arm1026_dma_unmap_area)

ENTRY(arm1026_cache_fns)
.long arm1026_flush_icache_all
.long arm1026_flush_kern_cache_all
.long arm1026_flush_user_cache_all
.long arm1026_flush_user_cache_range
Expand Down
12 changes: 12 additions & 0 deletions trunk/arch/arm/mm/proc-arm920.S
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,17 @@ ENTRY(cpu_arm920_do_idle)

#ifndef CONFIG_CPU_DCACHE_WRITETHROUGH

/*
* flush_icache_all()
*
* Unconditionally clean and invalidate the entire icache.
*/
ENTRY(arm920_flush_icache_all)
mov r0, #0
mcr p15, 0, r0, c7, c5, 0 @ invalidate I cache
mov pc, lr
ENDPROC(arm920_flush_icache_all)

/*
* flush_user_cache_all()
*
Expand Down Expand Up @@ -305,6 +316,7 @@ ENTRY(arm920_dma_unmap_area)
ENDPROC(arm920_dma_unmap_area)

ENTRY(arm920_cache_fns)
.long arm920_flush_icache_all
.long arm920_flush_kern_cache_all
.long arm920_flush_user_cache_all
.long arm920_flush_user_cache_range
Expand Down
12 changes: 12 additions & 0 deletions trunk/arch/arm/mm/proc-arm922.S
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,17 @@ ENTRY(cpu_arm922_do_idle)

#ifndef CONFIG_CPU_DCACHE_WRITETHROUGH

/*
* flush_icache_all()
*
* Unconditionally clean and invalidate the entire icache.
*/
ENTRY(arm922_flush_icache_all)
mov r0, #0
mcr p15, 0, r0, c7, c5, 0 @ invalidate I cache
mov pc, lr
ENDPROC(arm922_flush_icache_all)

/*
* flush_user_cache_all()
*
Expand Down Expand Up @@ -307,6 +318,7 @@ ENTRY(arm922_dma_unmap_area)
ENDPROC(arm922_dma_unmap_area)

ENTRY(arm922_cache_fns)
.long arm922_flush_icache_all
.long arm922_flush_kern_cache_all
.long arm922_flush_user_cache_all
.long arm922_flush_user_cache_range
Expand Down
12 changes: 12 additions & 0 deletions trunk/arch/arm/mm/proc-arm925.S
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,17 @@ ENTRY(cpu_arm925_do_idle)
mcr p15, 0, r1, c1, c0, 0 @ Restore ICache enable
mov pc, lr

/*
* flush_icache_all()
*
* Unconditionally clean and invalidate the entire icache.
*/
ENTRY(arm925_flush_icache_all)
mov r0, #0
mcr p15, 0, r0, c7, c5, 0 @ invalidate I cache
mov pc, lr
ENDPROC(arm925_flush_icache_all)

/*
* flush_user_cache_all()
*
Expand Down Expand Up @@ -362,6 +373,7 @@ ENTRY(arm925_dma_unmap_area)
ENDPROC(arm925_dma_unmap_area)

ENTRY(arm925_cache_fns)
.long arm925_flush_icache_all
.long arm925_flush_kern_cache_all
.long arm925_flush_user_cache_all
.long arm925_flush_user_cache_range
Expand Down
12 changes: 12 additions & 0 deletions trunk/arch/arm/mm/proc-arm926.S
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,17 @@ ENTRY(cpu_arm926_do_idle)
msr cpsr_c, r3 @ Restore FIQ state
mov pc, lr

/*
* flush_icache_all()
*
* Unconditionally clean and invalidate the entire icache.
*/
ENTRY(arm926_flush_icache_all)
mov r0, #0
mcr p15, 0, r0, c7, c5, 0 @ invalidate I cache
mov pc, lr
ENDPROC(arm926_flush_icache_all)

/*
* flush_user_cache_all()
*
Expand Down Expand Up @@ -325,6 +336,7 @@ ENTRY(arm926_dma_unmap_area)
ENDPROC(arm926_dma_unmap_area)

ENTRY(arm926_cache_fns)
.long arm926_flush_icache_all
.long arm926_flush_kern_cache_all
.long arm926_flush_user_cache_all
.long arm926_flush_user_cache_range
Expand Down
12 changes: 12 additions & 0 deletions trunk/arch/arm/mm/proc-arm940.S
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,17 @@ ENTRY(cpu_arm940_do_idle)
mcr p15, 0, r0, c7, c0, 4 @ Wait for interrupt
mov pc, lr

/*
* flush_icache_all()
*
* Unconditionally clean and invalidate the entire icache.
*/
ENTRY(arm940_flush_icache_all)
mov r0, #0
mcr p15, 0, r0, c7, c5, 0 @ invalidate I cache
mov pc, lr
ENDPROC(arm940_flush_icache_all)

/*
* flush_user_cache_all()
*/
Expand Down Expand Up @@ -254,6 +265,7 @@ ENTRY(arm940_dma_unmap_area)
ENDPROC(arm940_dma_unmap_area)

ENTRY(arm940_cache_fns)
.long arm940_flush_icache_all
.long arm940_flush_kern_cache_all
.long arm940_flush_user_cache_all
.long arm940_flush_user_cache_range
Expand Down
Loading

0 comments on commit f91a361

Please sign in to comment.