Lines Matching refs:vt

813 static void invalidate_vncr(struct vncr_tlb *vt)  in invalidate_vncr()  argument
815 vt->valid = false; in invalidate_vncr()
816 if (vt->cpu != -1) in invalidate_vncr()
817 clear_fixmap(vncr_fixmap(vt->cpu)); in invalidate_vncr()
831 struct vncr_tlb *vt = vcpu->arch.vncr_tlb; in kvm_invalidate_vncr_ipa() local
842 if (!vt) in kvm_invalidate_vncr_ipa()
845 if (!vt->valid) in kvm_invalidate_vncr_ipa()
848 ipa_size = ttl_to_size(pgshift_level_to_ttl(vt->wi.pgshift, in kvm_invalidate_vncr_ipa()
849 vt->wr.level)); in kvm_invalidate_vncr_ipa()
850 ipa_start = vt->wr.pa & (ipa_size - 1); in kvm_invalidate_vncr_ipa()
856 invalidate_vncr(vt); in kvm_invalidate_vncr_ipa()
882 struct vncr_tlb *vt = vcpu->arch.vncr_tlb; in invalidate_vncr_va() local
885 if (!vt->valid) in invalidate_vncr_va()
888 va_size = ttl_to_size(pgshift_level_to_ttl(vt->wi.pgshift, in invalidate_vncr_va()
889 vt->wr.level)); in invalidate_vncr_va()
890 va_start = vt->gva & (va_size - 1); in invalidate_vncr_va()
901 if (vt->wr.nG && vt->wr.asid != scope->asid) in invalidate_vncr_va()
912 if (!vt->wr.nG || vt->wr.asid != scope->asid) in invalidate_vncr_va()
917 invalidate_vncr(vt); in invalidate_vncr_va()
1179 struct vncr_tlb *vt; in kvm_translate_vncr() local
1184 vt = vcpu->arch.vncr_tlb; in kvm_translate_vncr()
1195 invalidate_vncr(vt); in kvm_translate_vncr()
1197 vt->wi = (struct s1_walk_info) { in kvm_translate_vncr()
1202 vt->wr = (struct s1_walk_result){}; in kvm_translate_vncr()
1209 ret = __kvm_translate_va(vcpu, &vt->wi, &vt->wr, va); in kvm_translate_vncr()
1218 gfn = vt->wr.pa >> PAGE_SHIFT; in kvm_translate_vncr()
1227 vt->gva = va; in kvm_translate_vncr()
1228 vt->hpa = pfn << PAGE_SHIFT; in kvm_translate_vncr()
1229 vt->valid = true; in kvm_translate_vncr()
1230 vt->cpu = -1; in kvm_translate_vncr()
1233 kvm_release_faultin_page(vcpu->kvm, page, false, vt->wr.pw); in kvm_translate_vncr()
1236 if (vt->wr.pw) in kvm_translate_vncr()
1244 struct vncr_tlb *vt = vcpu->arch.vncr_tlb; in inject_vncr_perm() local
1250 ESR_ELx_FSC_PERM_L(vt->wr.level)); in inject_vncr_perm()
1257 struct vncr_tlb *vt = vcpu->arch.vncr_tlb; in kvm_vncr_tlb_lookup() local
1261 if (!vt->valid) in kvm_vncr_tlb_lookup()
1264 if (read_vncr_el2(vcpu) != vt->gva) in kvm_vncr_tlb_lookup()
1267 if (vt->wr.nG) { in kvm_vncr_tlb_lookup()
1279 return asid != vt->wr.asid; in kvm_vncr_tlb_lookup()
1287 struct vncr_tlb *vt = vcpu->arch.vncr_tlb; in kvm_handle_vncr_abort() local
1319 BUG_ON(!vt->wr.failed); in kvm_handle_vncr_abort()
1322 esr |= FIELD_PREP(ESR_ELx_FSC, vt->wr.fst); in kvm_handle_vncr_abort()
1342 struct vncr_tlb *vt = vcpu->arch.vncr_tlb; in kvm_map_l1_vncr() local
1361 if (!vt->valid) in kvm_map_l1_vncr()
1364 if (read_vncr_el2(vcpu) != vt->gva) in kvm_map_l1_vncr()
1367 if (vt->wr.nG) { in kvm_map_l1_vncr()
1379 if (asid != vt->wr.asid) in kvm_map_l1_vncr()
1383 vt->cpu = smp_processor_id(); in kvm_map_l1_vncr()
1385 if (vt->wr.pw && vt->wr.pr) in kvm_map_l1_vncr()
1387 else if (vt->wr.pr) in kvm_map_l1_vncr()
1399 __set_fixmap(vncr_fixmap(vt->cpu), vt->hpa, prot); in kvm_map_l1_vncr()