Lines Matching +full:compare +full:- +full:and +full:- +full:swap
1 /* SPDX-License-Identifier: GPL-2.0 */
10 * to any CPU and may be used for translation by that CPU except to
12 * or INVALIDATE DAT TABLE ENTRY, (2) alter bits 56-63 of a page
13 * table entry, or (3) make a change by means of a COMPARE AND SWAP
14 * AND PURGE instruction that purges the TLB."
38 #include <asm-generic/tlb.h>
58 __tlb_flush_mm_lazy(tlb->mm); in tlb_flush()
62 * pte_free_tlb frees a pte table and clears the CRSTE for the
69 tlb->mm->context.flush_mm = 1; in pte_free_tlb()
70 tlb->freed_tables = 1; in pte_free_tlb()
71 tlb->cleared_pmds = 1; in pte_free_tlb()
72 if (mm_alloc_pgste(tlb->mm)) in pte_free_tlb()
73 gmap_unlink(tlb->mm, (unsigned long *)pte, address); in pte_free_tlb()
78 * pmd_free_tlb frees a pmd table and clears the CRSTE for the
87 if (mm_pmd_folded(tlb->mm)) in pmd_free_tlb()
91 tlb->mm->context.flush_mm = 1; in pmd_free_tlb()
92 tlb->freed_tables = 1; in pmd_free_tlb()
93 tlb->cleared_puds = 1; in pmd_free_tlb()
98 * p4d_free_tlb frees a pud table and clears the CRSTE for the
107 if (mm_p4d_folded(tlb->mm)) in p4d_free_tlb()
110 tlb->mm->context.flush_mm = 1; in p4d_free_tlb()
111 tlb->freed_tables = 1; in p4d_free_tlb()
116 * pud_free_tlb frees a pud table and clears the CRSTE for the
125 if (mm_pud_folded(tlb->mm)) in pud_free_tlb()
127 tlb->mm->context.flush_mm = 1; in pud_free_tlb()
128 tlb->freed_tables = 1; in pud_free_tlb()
129 tlb->cleared_p4ds = 1; in pud_free_tlb()