Lines Matching +full:gpa +full:- +full:0

1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Copyright (C) 2020-2022 Loongson Technology Corporation Limited
9 #include <asm/cpu-features.h>
50 INVTLB_ALL = 0x0,
52 INVTLB_CURRENT_ALL = 0x1,
54 INVTLB_CURRENT_GTRUE = 0x2,
55 /* Invalid all global=0 lines in current tlb */
56 INVTLB_CURRENT_GFALSE = 0x3,
57 /* Invalid global=0 and matched asid lines in current tlb */
58 INVTLB_GFALSE_AND_ASID = 0x4,
59 /* Invalid addr with global=0 and matched asid in current tlb */
60 INVTLB_ADDR_GFALSE_AND_ASID = 0x5,
62 INVTLB_ADDR_GTRUE_OR_ASID = 0x6,
64 INVGTLB_GID = 0x9,
66 INVGTLB_GID_GTRUE = 0xa,
67 /* Invalid global=0, matched gid in guest tlb */
68 INVGTLB_GID_GFALSE = 0xb,
69 /* Invalid global=0, matched gid and asid in guest tlb */
70 INVGTLB_GID_GFALSE_ASID = 0xc,
71 /* Invalid global=0 , matched gid, asid and addr in guest tlb */
72 INVGTLB_GID_GFALSE_ASID_ADDR = 0xd,
74 INVGTLB_GID_GTRUE_ASID_ADDR = 0xe,
75 /* Invalid all gid gva-->gpa guest tlb */
76 INVGTLB_ALLGID_GVA_TO_GPA = 0x10,
77 /* Invalid all gid gpa-->hpa tlb */
78 INVTLB_ALLGID_GPA_TO_HPA = 0x11,
79 /* Invalid all gid tlb, including gva-->gpa and gpa-->hpa */
80 INVTLB_ALLGID = 0x12,
81 /* Invalid matched gid gva-->gpa guest tlb */
82 INVGTLB_GID_GVA_TO_GPA = 0x13,
83 /* Invalid matched gid gpa-->hpa tlb */
84 INVTLB_GID_GPA_TO_HPA = 0x14,
85 /* Invalid matched gid tlb,including gva-->gpa and gpa-->hpa */
86 INVTLB_GID_ALL = 0x15,
87 /* Invalid matched gid and addr gpa-->hpa tlb */
88 INVTLB_GID_ADDR = 0x16,
94 "invtlb %0, %1, %2\n\t" in invtlb()
103 BUILD_BUG_ON(!__builtin_constant_p(info) || info != 0); in invtlb_addr()
105 "invtlb %0, $zero, %1\n\t" in invtlb_addr()
114 BUILD_BUG_ON(!__builtin_constant_p(addr) || addr != 0); in invtlb_info()
116 "invtlb %0, %1, $zero\n\t" in invtlb_info()
125 BUILD_BUG_ON(!__builtin_constant_p(info) || info != 0); in invtlb_all()
126 BUILD_BUG_ON(!__builtin_constant_p(addr) || addr != 0); in invtlb_all()
128 "invtlb %0, $zero, $zero\n\t" in invtlb_all()
135 #define __tlb_remove_tlb_entry(tlb, ptep, address) do { } while (0)
140 #include <asm-generic/tlb.h>
146 vma.vm_mm = tlb->mm; in tlb_flush()
147 vm_flags_init(&vma, 0); in tlb_flush()
148 if (tlb->fullmm) { in tlb_flush()
149 flush_tlb_mm(tlb->mm); in tlb_flush()
153 flush_tlb_range(&vma, tlb->start, tlb->end); in tlb_flush()