|
|
|
@ -58,10 +58,10 @@
|
|
|
|
|
static inline void protected_writeback_dcache_line(unsigned long addr)
|
|
|
|
|
{
|
|
|
|
|
+ BCM4710_DUMMY_RREG();
|
|
|
|
|
protected_cache_op(Hit_Writeback_Inv_D, addr);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -462,8 +481,51 @@ static inline void invalidate_tcache_pag
|
|
|
|
|
#ifdef CONFIG_EVA
|
|
|
|
|
protected_cachee_op(Hit_Writeback_Inv_D, addr);
|
|
|
|
|
#else
|
|
|
|
|
@@ -466,8 +485,51 @@ static inline void invalidate_tcache_pag
|
|
|
|
|
: "r" (base), \
|
|
|
|
|
"i" (op));
|
|
|
|
|
|
|
|
|
@ -114,7 +114,7 @@
|
|
|
|
|
static inline void extra##blast_##pfx##cache##lsize(void) \
|
|
|
|
|
{ \
|
|
|
|
|
unsigned long start = INDEX_BASE; \
|
|
|
|
|
@@ -475,6 +537,7 @@ static inline void extra##blast_##pfx##c
|
|
|
|
|
@@ -479,6 +541,7 @@ static inline void extra##blast_##pfx##c
|
|
|
|
|
\
|
|
|
|
|
__##pfx##flush_prologue \
|
|
|
|
|
\
|
|
|
|
@ -122,7 +122,7 @@
|
|
|
|
|
for (ws = 0; ws < ws_end; ws += ws_inc) \
|
|
|
|
|
for (addr = start; addr < end; addr += lsize * 32) \
|
|
|
|
|
cache##lsize##_unroll32(addr|ws, indexop); \
|
|
|
|
|
@@ -489,6 +552,7 @@ static inline void extra##blast_##pfx##c
|
|
|
|
|
@@ -493,6 +556,7 @@ static inline void extra##blast_##pfx##c
|
|
|
|
|
\
|
|
|
|
|
__##pfx##flush_prologue \
|
|
|
|
|
\
|
|
|
|
@ -130,7 +130,7 @@
|
|
|
|
|
do { \
|
|
|
|
|
cache##lsize##_unroll32(start, hitop); \
|
|
|
|
|
start += lsize * 32; \
|
|
|
|
|
@@ -507,6 +571,8 @@ static inline void extra##blast_##pfx##c
|
|
|
|
|
@@ -511,6 +575,8 @@ static inline void extra##blast_##pfx##c
|
|
|
|
|
current_cpu_data.desc.waybit; \
|
|
|
|
|
unsigned long ws, addr; \
|
|
|
|
|
\
|
|
|
|
@ -139,7 +139,7 @@
|
|
|
|
|
__##pfx##flush_prologue \
|
|
|
|
|
\
|
|
|
|
|
for (ws = 0; ws < ws_end; ws += ws_inc) \
|
|
|
|
|
@@ -516,26 +582,26 @@ static inline void extra##blast_##pfx##c
|
|
|
|
|
@@ -520,26 +586,26 @@ static inline void extra##blast_##pfx##c
|
|
|
|
|
__##pfx##flush_epilogue \
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -186,7 +186,7 @@
|
|
|
|
|
|
|
|
|
|
#define __BUILD_BLAST_USER_CACHE(pfx, desc, indexop, hitop, lsize) \
|
|
|
|
|
static inline void blast_##pfx##cache##lsize##_user_page(unsigned long page) \
|
|
|
|
|
@@ -564,17 +630,19 @@ __BUILD_BLAST_USER_CACHE(d, dcache, Inde
|
|
|
|
|
@@ -568,17 +634,19 @@ __BUILD_BLAST_USER_CACHE(d, dcache, Inde
|
|
|
|
|
__BUILD_BLAST_USER_CACHE(i, icache, Index_Invalidate_I, Hit_Invalidate_I, 64)
|
|
|
|
|
|
|
|
|
|
/* build blast_xxx_range, protected_blast_xxx_range */
|
|
|
|
@ -207,7 +207,7 @@
|
|
|
|
|
prot##cache_op(hitop, addr); \
|
|
|
|
|
if (addr == aend) \
|
|
|
|
|
break; \
|
|
|
|
|
@@ -586,8 +654,8 @@ static inline void prot##extra##blast_##
|
|
|
|
|
@@ -590,8 +658,8 @@ static inline void prot##extra##blast_##
|
|
|
|
|
|
|
|
|
|
#ifndef CONFIG_EVA
|
|
|
|
|
|
|
|
|
@ -218,7 +218,7 @@
|
|
|
|
|
|
|
|
|
|
#else
|
|
|
|
|
|
|
|
|
|
@@ -624,14 +692,14 @@ __BUILD_PROT_BLAST_CACHE_RANGE(d, dcache
|
|
|
|
|
@@ -628,14 +696,14 @@ __BUILD_PROT_BLAST_CACHE_RANGE(d, dcache
|
|
|
|
|
__BUILD_PROT_BLAST_CACHE_RANGE(i, icache, Hit_Invalidate_I)
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|