diff options
Diffstat (limited to 'arch/arm/include/asm/tlbflush.h')
-rw-r--r-- | arch/arm/include/asm/tlbflush.h | 19 |
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 | ||