Lines Matching refs:hptep
316 __be64 *hptep; in kvmppc_mmu_book3s_64_hv_xlate() local
339 hptep = (__be64 *)(kvm->arch.hpt_virt + (index << 4)); in kvmppc_mmu_book3s_64_hv_xlate()
340 v = be64_to_cpu(hptep[0]) & ~HPTE_V_HVLOCK; in kvmppc_mmu_book3s_64_hv_xlate()
343 unlock_hpte(hptep, v); in kvmppc_mmu_book3s_64_hv_xlate()
441 __be64 *hptep; in kvmppc_book3s_hv_page_fault() local
464 hptep = (__be64 *)(kvm->arch.hpt_virt + (index << 4)); in kvmppc_book3s_hv_page_fault()
467 while (!try_lock_hpte(hptep, HPTE_V_HVLOCK)) in kvmppc_book3s_hv_page_fault()
469 hpte[0] = be64_to_cpu(hptep[0]) & ~HPTE_V_HVLOCK; in kvmppc_book3s_hv_page_fault()
470 hpte[1] = be64_to_cpu(hptep[1]); in kvmppc_book3s_hv_page_fault()
472 unlock_hpte(hptep, hpte[0]); in kvmppc_book3s_hv_page_fault()
584 while (!try_lock_hpte(hptep, HPTE_V_HVLOCK)) in kvmppc_book3s_hv_page_fault()
586 if ((be64_to_cpu(hptep[0]) & ~HPTE_V_HVLOCK) != hpte[0] || in kvmppc_book3s_hv_page_fault()
587 be64_to_cpu(hptep[1]) != hpte[1] || in kvmppc_book3s_hv_page_fault()
608 if (be64_to_cpu(hptep[0]) & HPTE_V_VALID) { in kvmppc_book3s_hv_page_fault()
611 hptep[0] |= cpu_to_be64(HPTE_V_ABSENT); in kvmppc_book3s_hv_page_fault()
612 kvmppc_invalidate_hpte(kvm, hptep, index); in kvmppc_book3s_hv_page_fault()
614 r |= be64_to_cpu(hptep[1]) & (HPTE_R_R | HPTE_R_C); in kvmppc_book3s_hv_page_fault()
619 hptep[1] = cpu_to_be64(r); in kvmppc_book3s_hv_page_fault()
621 __unlock_hpte(hptep, hpte[0]); in kvmppc_book3s_hv_page_fault()
642 __unlock_hpte(hptep, be64_to_cpu(hptep[0])); in kvmppc_book3s_hv_page_fault()
718 __be64 *hptep; in kvm_unmap_rmapp() local
734 hptep = (__be64 *) (kvm->arch.hpt_virt + (i << 4)); in kvm_unmap_rmapp()
735 if (!try_lock_hpte(hptep, HPTE_V_HVLOCK)) { in kvm_unmap_rmapp()
738 while (be64_to_cpu(hptep[0]) & HPTE_V_HVLOCK) in kvm_unmap_rmapp()
757 psize = hpte_page_size(be64_to_cpu(hptep[0]), ptel); in kvm_unmap_rmapp()
758 if ((be64_to_cpu(hptep[0]) & HPTE_V_VALID) && in kvm_unmap_rmapp()
760 hptep[0] |= cpu_to_be64(HPTE_V_ABSENT); in kvm_unmap_rmapp()
761 kvmppc_invalidate_hpte(kvm, hptep, i); in kvm_unmap_rmapp()
763 rcbits = be64_to_cpu(hptep[1]) & (HPTE_R_R | HPTE_R_C); in kvm_unmap_rmapp()
773 __unlock_hpte(hptep, be64_to_cpu(hptep[0])); in kvm_unmap_rmapp()
818 __be64 *hptep; in kvm_age_rmapp() local
834 hptep = (__be64 *) (kvm->arch.hpt_virt + (i << 4)); in kvm_age_rmapp()
838 if (!(be64_to_cpu(hptep[1]) & HPTE_R_R)) in kvm_age_rmapp()
841 if (!try_lock_hpte(hptep, HPTE_V_HVLOCK)) { in kvm_age_rmapp()
844 while (be64_to_cpu(hptep[0]) & HPTE_V_HVLOCK) in kvm_age_rmapp()
850 if ((be64_to_cpu(hptep[0]) & HPTE_V_VALID) && in kvm_age_rmapp()
851 (be64_to_cpu(hptep[1]) & HPTE_R_R)) { in kvm_age_rmapp()
852 kvmppc_clear_ref_hpte(kvm, hptep, i); in kvm_age_rmapp()
859 __unlock_hpte(hptep, be64_to_cpu(hptep[0])); in kvm_age_rmapp()
927 __be64 *hptep; in kvm_test_clear_dirty_npages() local
948 hptep = (__be64 *) (kvm->arch.hpt_virt + (i << 4)); in kvm_test_clear_dirty_npages()
965 hptep1 = be64_to_cpu(hptep[1]); in kvm_test_clear_dirty_npages()
970 if (!try_lock_hpte(hptep, HPTE_V_HVLOCK)) { in kvm_test_clear_dirty_npages()
973 while (hptep[0] & cpu_to_be64(HPTE_V_HVLOCK)) in kvm_test_clear_dirty_npages()
979 if (!(hptep[0] & cpu_to_be64(HPTE_V_VALID))) { in kvm_test_clear_dirty_npages()
980 __unlock_hpte(hptep, be64_to_cpu(hptep[0])); in kvm_test_clear_dirty_npages()
985 hptep[0] |= cpu_to_be64(HPTE_V_ABSENT); in kvm_test_clear_dirty_npages()
986 kvmppc_invalidate_hpte(kvm, hptep, i); in kvm_test_clear_dirty_npages()
987 v = be64_to_cpu(hptep[0]); in kvm_test_clear_dirty_npages()
988 r = be64_to_cpu(hptep[1]); in kvm_test_clear_dirty_npages()
990 hptep[1] = cpu_to_be64(r & ~HPTE_R_C); in kvm_test_clear_dirty_npages()
1003 __unlock_hpte(hptep, v); in kvm_test_clear_dirty_npages()