Lines Matching refs:par
672 u64 par; in compute_par_s12() local
676 par = SYS_PAR_EL1_RES1; in compute_par_s12()
677 par |= SYS_PAR_EL1_F; in compute_par_s12()
678 par |= SYS_PAR_EL1_S; in compute_par_s12()
679 par |= FIELD_PREP(SYS_PAR_EL1_FST, tr->esr); in compute_par_s12()
680 return par; in compute_par_s12()
744 par = FIELD_PREP(SYS_PAR_EL1_ATTR, final_attr); in compute_par_s12()
745 par |= tr->output & GENMASK(47, 12); in compute_par_s12()
746 par |= FIELD_PREP(SYS_PAR_EL1_SH, in compute_par_s12()
750 return par; in compute_par_s12()
756 u64 par; in compute_par_s1() local
759 par = SYS_PAR_EL1_RES1; in compute_par_s1()
760 par |= SYS_PAR_EL1_F; in compute_par_s1()
761 par |= FIELD_PREP(SYS_PAR_EL1_FST, wr->fst); in compute_par_s1()
762 par |= wr->ptw ? SYS_PAR_EL1_PTW : 0; in compute_par_s1()
763 par |= wr->s2 ? SYS_PAR_EL1_S : 0; in compute_par_s1()
766 par = SYS_PAR_EL1_NSE; in compute_par_s1()
767 par |= wr->pa & GENMASK_ULL(47, 12); in compute_par_s1()
771 par |= FIELD_PREP(SYS_PAR_EL1_ATTR, in compute_par_s1()
773 par |= FIELD_PREP(SYS_PAR_EL1_SH, ATTR_NSH); in compute_par_s1()
775 par |= FIELD_PREP(SYS_PAR_EL1_ATTR, 0); /* nGnRnE */ in compute_par_s1()
776 par |= FIELD_PREP(SYS_PAR_EL1_SH, ATTR_OSH); in compute_par_s1()
782 par = SYS_PAR_EL1_NSE; in compute_par_s1()
799 par |= FIELD_PREP(SYS_PAR_EL1_ATTR, mair); in compute_par_s1()
800 par |= wr->pa & GENMASK_ULL(47, 12); in compute_par_s1()
803 par |= FIELD_PREP(SYS_PAR_EL1_SH, sh); in compute_par_s1()
806 return par; in compute_par_s1()
1206 u64 par; in __kvm_at_s1e01_fast() local
1208 par = SYS_PAR_EL1_F; in __kvm_at_s1e01_fast()
1232 return par; in __kvm_at_s1e01_fast()
1286 par = read_sysreg_par(); in __kvm_at_s1e01_fast()
1293 return par; in __kvm_at_s1e01_fast()
1296 static bool par_check_s1_perm_fault(u64 par) in par_check_s1_perm_fault() argument
1298 u8 fst = FIELD_GET(SYS_PAR_EL1_FST, par); in par_check_s1_perm_fault()
1301 !(par & SYS_PAR_EL1_S)); in par_check_s1_perm_fault()
1304 static bool par_check_s1_access_fault(u64 par) in par_check_s1_access_fault() argument
1306 u8 fst = FIELD_GET(SYS_PAR_EL1_FST, par); in par_check_s1_access_fault()
1309 !(par & SYS_PAR_EL1_S)); in par_check_s1_access_fault()
1314 u64 par = __kvm_at_s1e01_fast(vcpu, op, vaddr); in __kvm_at_s1e01() local
1324 if ((par & SYS_PAR_EL1_F) && in __kvm_at_s1e01()
1325 !par_check_s1_perm_fault(par) && in __kvm_at_s1e01()
1326 !par_check_s1_access_fault(par)) in __kvm_at_s1e01()
1327 par = handle_at_slow(vcpu, op, vaddr); in __kvm_at_s1e01()
1329 vcpu_write_sys_reg(vcpu, par, PAR_EL1); in __kvm_at_s1e01()
1334 u64 par; in __kvm_at_s1e2() local
1354 par = SYS_PAR_EL1_F; in __kvm_at_s1e2()
1374 par = read_sysreg_par(); in __kvm_at_s1e2()
1381 if ((par & SYS_PAR_EL1_F) && !par_check_s1_perm_fault(par)) in __kvm_at_s1e2()
1382 par = handle_at_slow(vcpu, op, vaddr); in __kvm_at_s1e2()
1384 vcpu_write_sys_reg(vcpu, par, PAR_EL1); in __kvm_at_s1e2()
1390 u64 ipa, par; in __kvm_at_s12() local
1418 par = vcpu_read_sys_reg(vcpu, PAR_EL1); in __kvm_at_s12()
1419 if (par & SYS_PAR_EL1_F) in __kvm_at_s12()
1431 ipa = (par & GENMASK_ULL(47, 12)) | (vaddr & GENMASK_ULL(11, 0)); in __kvm_at_s12()
1442 par = compute_par_s12(vcpu, par, &out); in __kvm_at_s12()
1443 vcpu_write_sys_reg(vcpu, par, PAR_EL1); in __kvm_at_s12()