Home
last modified time | relevance | path

Searched refs:hpte (Results 1 - 10 of 10) sorted by relevance

/kernel/linux/linux-5.10/arch/powerpc/kvm/
H A Dbook3s_hv_rm_mmu.c203 __be64 *hpte; in kvmppc_do_h_enter() local
311 hpte = (__be64 *)(kvm->arch.hpt.virt + (pte_index << 4)); in kvmppc_do_h_enter()
313 if ((be64_to_cpu(*hpte) & HPTE_V_VALID) == 0 && in kvmppc_do_h_enter()
314 try_lock_hpte(hpte, HPTE_V_HVLOCK | HPTE_V_VALID | in kvmppc_do_h_enter()
317 hpte += 2; in kvmppc_do_h_enter()
326 hpte -= 16; in kvmppc_do_h_enter()
329 while (!try_lock_hpte(hpte, HPTE_V_HVLOCK)) in kvmppc_do_h_enter()
331 pte = be64_to_cpu(hpte[0]); in kvmppc_do_h_enter()
334 __unlock_hpte(hpte, pte); in kvmppc_do_h_enter()
335 hpte in kvmppc_do_h_enter()
492 __be64 *hpte; kvmppc_do_h_remove() local
680 __be64 *hpte; kvmppc_h_protect() local
750 __be64 *hpte; kvmppc_h_read() local
790 __be64 *hpte; kvmppc_h_clear_ref() local
838 __be64 *hpte; kvmppc_h_clear_mod() local
1103 __be64 *hpte; kvmppc_hv_find_lock_hpte() local
1194 __be64 *hpte; kvmppc_hpte_hv_fault() local
[all...]
H A Dbook3s_64_mmu_hv.c486 unsigned long hpte[3], r; in kvmppc_book3s_hv_page_fault() local
535 hpte[0] = be64_to_cpu(hptep[0]) & ~HPTE_V_HVLOCK; in kvmppc_book3s_hv_page_fault()
536 hpte[1] = be64_to_cpu(hptep[1]); in kvmppc_book3s_hv_page_fault()
537 hpte[2] = r = rev->guest_rpte; in kvmppc_book3s_hv_page_fault()
538 unlock_hpte(hptep, hpte[0]); in kvmppc_book3s_hv_page_fault()
542 hpte[0] = hpte_new_to_old_v(hpte[0], hpte[1]); in kvmppc_book3s_hv_page_fault()
543 hpte[1] = hpte_new_to_old_r(hpte[ in kvmppc_book3s_hv_page_fault()
1654 record_hpte(unsigned long flags, __be64 *hptp, unsigned long *hpte, struct revmap_entry *revp, int want_valid, int first_pass) record_hpte() argument
1740 unsigned long hpte[2]; kvm_htab_read() local
[all...]
H A Dbook3s_pr_papr.c41 __be64 *hpte; in kvmppc_h_pr_enter() local
53 hpte = pteg; in kvmppc_h_pr_enter()
60 if ((be64_to_cpu(*hpte) & HPTE_V_VALID) == 0) in kvmppc_h_pr_enter()
62 hpte += 2; in kvmppc_h_pr_enter()
65 hpte += i * 2; in kvmppc_h_pr_enter()
66 if (*hpte & HPTE_V_VALID) in kvmppc_h_pr_enter()
70 hpte[0] = cpu_to_be64(kvmppc_get_gpr(vcpu, 6)); in kvmppc_h_pr_enter()
71 hpte[1] = cpu_to_be64(kvmppc_get_gpr(vcpu, 7)); in kvmppc_h_pr_enter()
74 if (copy_to_user((void __user *)pteg_addr, hpte, HPTE_SIZE)) in kvmppc_h_pr_enter()
/kernel/linux/linux-6.6/arch/powerpc/kvm/
H A Dbook3s_hv_rm_mmu.c190 __be64 *hpte; in kvmppc_do_h_enter() local
307 hpte = (__be64 *)(kvm->arch.hpt.virt + (pte_index << 4)); in kvmppc_do_h_enter()
309 if ((be64_to_cpu(*hpte) & HPTE_V_VALID) == 0 && in kvmppc_do_h_enter()
310 try_lock_hpte(hpte, HPTE_V_HVLOCK | HPTE_V_VALID | in kvmppc_do_h_enter()
313 hpte += 2; in kvmppc_do_h_enter()
322 hpte -= 16; in kvmppc_do_h_enter()
325 while (!try_lock_hpte(hpte, HPTE_V_HVLOCK)) in kvmppc_do_h_enter()
327 pte = be64_to_cpu(hpte[0]); in kvmppc_do_h_enter()
330 __unlock_hpte(hpte, pte); in kvmppc_do_h_enter()
331 hpte in kvmppc_do_h_enter()
489 __be64 *hpte; kvmppc_do_h_remove() local
678 __be64 *hpte; kvmppc_h_protect() local
749 __be64 *hpte; kvmppc_h_read() local
790 __be64 *hpte; kvmppc_h_clear_ref() local
839 __be64 *hpte; kvmppc_h_clear_mod() local
1105 __be64 *hpte; kvmppc_hv_find_lock_hpte() local
1196 __be64 *hpte; kvmppc_hpte_hv_fault() local
[all...]
H A Dbook3s_64_mmu_hv.c510 unsigned long hpte[3], r; in kvmppc_book3s_hv_page_fault() local
559 hpte[0] = be64_to_cpu(hptep[0]) & ~HPTE_V_HVLOCK; in kvmppc_book3s_hv_page_fault()
560 hpte[1] = be64_to_cpu(hptep[1]); in kvmppc_book3s_hv_page_fault()
561 hpte[2] = r = rev->guest_rpte; in kvmppc_book3s_hv_page_fault()
562 unlock_hpte(hptep, hpte[0]); in kvmppc_book3s_hv_page_fault()
566 hpte[0] = hpte_new_to_old_v(hpte[0], hpte[1]); in kvmppc_book3s_hv_page_fault()
567 hpte[1] = hpte_new_to_old_r(hpte[ in kvmppc_book3s_hv_page_fault()
1652 record_hpte(unsigned long flags, __be64 *hptp, unsigned long *hpte, struct revmap_entry *revp, int want_valid, int first_pass) record_hpte() argument
1738 unsigned long hpte[2]; kvm_htab_read() local
[all...]
H A Dbook3s_pr_papr.c41 __be64 *hpte; in kvmppc_h_pr_enter() local
53 hpte = pteg; in kvmppc_h_pr_enter()
60 if ((be64_to_cpu(*hpte) & HPTE_V_VALID) == 0) in kvmppc_h_pr_enter()
62 hpte += 2; in kvmppc_h_pr_enter()
65 hpte += i * 2; in kvmppc_h_pr_enter()
66 if (*hpte & HPTE_V_VALID) in kvmppc_h_pr_enter()
70 hpte[0] = cpu_to_be64(kvmppc_get_gpr(vcpu, 6)); in kvmppc_h_pr_enter()
71 hpte[1] = cpu_to_be64(kvmppc_get_gpr(vcpu, 7)); in kvmppc_h_pr_enter()
74 if (copy_to_user((void __user *)pteg_addr, hpte, HPTE_SIZE)) in kvmppc_h_pr_enter()
/kernel/linux/linux-5.10/arch/powerpc/include/asm/
H A Dkvm_book3s_64.h176 static inline long try_lock_hpte(__be64 *hpte, unsigned long bits) in try_lock_hpte() argument
198 : "r" (hpte), "r" (be_bits), "r" (be_lockbit) in try_lock_hpte()
203 static inline void unlock_hpte(__be64 *hpte, unsigned long hpte_v) in unlock_hpte() argument
207 hpte[0] = cpu_to_be64(hpte_v); in unlock_hpte()
211 static inline void __unlock_hpte(__be64 *hpte, unsigned long hpte_v) in __unlock_hpte() argument
214 hpte[0] = cpu_to_be64(hpte_v); in __unlock_hpte()
/kernel/linux/linux-6.6/arch/powerpc/include/asm/
H A Dkvm_book3s_64.h173 static inline long try_lock_hpte(__be64 *hpte, unsigned long bits) in try_lock_hpte() argument
195 : "r" (hpte), "r" (be_bits), "r" (be_lockbit) in try_lock_hpte()
200 static inline void unlock_hpte(__be64 *hpte, unsigned long hpte_v) in unlock_hpte() argument
204 hpte[0] = cpu_to_be64(hpte_v); in unlock_hpte()
208 static inline void __unlock_hpte(__be64 *hpte, unsigned long hpte_v) in __unlock_hpte() argument
211 hpte[0] = cpu_to_be64(hpte_v); in __unlock_hpte()
/kernel/linux/linux-5.10/arch/powerpc/mm/book3s64/
H A Dhash_native.c391 * NOTE: this also unlocks the hpte in native_hpte_insert()
433 /* Invalidate the hpte. NOTE: this also unlocks it */ in native_hpte_remove()
595 /* Invalidate the hpte */ in native_hpte_removebolted()
625 /* Invalidate the hpte. NOTE: this also unlocks it */ in native_hpte_invalidate()
688 * Invalidate the hpte. NOTE: this also unlocks it in native_hugepage_invalidate()
714 static void hpte_decode(struct hash_pte *hpte, unsigned long slot, in hpte_decode() argument
718 unsigned long hpte_v = be64_to_cpu(hpte->v); in hpte_decode()
719 unsigned long hpte_r = be64_to_cpu(hpte->r); in hpte_decode()
/kernel/linux/linux-6.6/arch/powerpc/mm/book3s64/
H A Dhash_native.c317 * NOTE: this also unlocks the hpte in native_hpte_insert()
366 /* Invalidate the hpte. NOTE: this also unlocks it */ in native_hpte_remove()
543 /* Invalidate the hpte */ in native_hpte_removebolted()
576 /* Invalidate the hpte. NOTE: this also unlocks it */ in native_hpte_invalidate()
639 /* Invalidate the hpte. NOTE: this also unlocks it */ in native_hugepage_invalidate()
664 static void hpte_decode(struct hash_pte *hpte, unsigned long slot, in hpte_decode() argument
668 unsigned long hpte_v = be64_to_cpu(hpte->v); in hpte_decode()
669 unsigned long hpte_r = be64_to_cpu(hpte->r); in hpte_decode()

Completed in 12 milliseconds