aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/include/asm/tlbflush.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/include/asm/tlbflush.h')
-rw-r--r--arch/arm/include/asm/tlbflush.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/arch/arm/include/asm/tlbflush.h b/arch/arm/include/asm/tlbflush.h
index ffedd2494eab..a62218013c78 100644
--- a/arch/arm/include/asm/tlbflush.h
+++ b/arch/arm/include/asm/tlbflush.h
@@ -54,6 +54,7 @@
54 * v4wb - ARMv4 with write buffer without I TLB flush entry instruction 54 * v4wb - ARMv4 with write buffer without I TLB flush entry instruction
55 * v4wbi - ARMv4 with write buffer with I TLB flush entry instruction 55 * v4wbi - ARMv4 with write buffer with I TLB flush entry instruction
56 * fr - Feroceon (v4wbi with non-outer-cacheable page table walks) 56 * fr - Feroceon (v4wbi with non-outer-cacheable page table walks)
57 * fa - Faraday (v4 with write buffer with UTLB and branch target buffer (BTB))
57 * v6wbi - ARMv6 with write buffer with I TLB flush entry instruction 58 * v6wbi - ARMv6 with write buffer with I TLB flush entry instruction
58 * v7wbi - identical to v6wbi 59 * v7wbi - identical to v6wbi
59 */ 60 */
@@ -90,6 +91,22 @@
90# define v4_always_flags (-1UL) 91# define v4_always_flags (-1UL)
91#endif 92#endif
92 93
94#define fa_tlb_flags (TLB_WB | TLB_BTB | TLB_DCLEAN | \
95 TLB_V4_U_FULL | TLB_V4_U_PAGE)
96
97#ifdef CONFIG_CPU_TLB_FA
98# define fa_possible_flags fa_tlb_flags
99# define fa_always_flags fa_tlb_flags
100# ifdef _TLB
101# define MULTI_TLB 1
102# else
103# define _TLB fa
104# endif
105#else
106# define fa_possible_flags 0
107# define fa_always_flags (-1UL)
108#endif
109
93#define v4wbi_tlb_flags (TLB_WB | TLB_DCLEAN | \ 110#define v4wbi_tlb_flags (TLB_WB | TLB_DCLEAN | \
94 TLB_V4_I_FULL | TLB_V4_D_FULL | \ 111 TLB_V4_I_FULL | TLB_V4_D_FULL | \
95 TLB_V4_I_PAGE | TLB_V4_D_PAGE) 112 TLB_V4_I_PAGE | TLB_V4_D_PAGE)
@@ -268,6 +285,7 @@ extern struct cpu_tlb_fns cpu_tlb;
268 v4wbi_possible_flags | \ 285 v4wbi_possible_flags | \
269 fr_possible_flags | \ 286 fr_possible_flags | \
270 v4wb_possible_flags | \ 287 v4wb_possible_flags | \
288 fa_possible_flags | \
271 v6wbi_possible_flags | \ 289 v6wbi_possible_flags | \
272 v7wbi_possible_flags) 290 v7wbi_possible_flags)
273 291
@@ -276,6 +294,7 @@ extern struct cpu_tlb_fns cpu_tlb;
276 v4wbi_always_flags & \ 294 v4wbi_always_flags & \
277 fr_always_flags & \ 295 fr_always_flags & \
278 v4wb_always_flags & \ 296 v4wb_always_flags & \
297 fa_always_flags & \
279 v6wbi_always_flags & \ 298 v6wbi_always_flags & \
280 v7wbi_always_flags) 299 v7wbi_always_flags)
281 300