/kernel/linux/linux-5.10/arch/powerpc/kvm/ |
H A D | book3s_64_mmu_hv.c | 802 unsigned long *rmapp, unsigned long gfn) in kvmppc_unmap_hpte() 812 *rmapp &= ~(KVMPPC_RMAP_PRESENT | KVMPPC_RMAP_INDEX); in kvmppc_unmap_hpte() 819 *rmapp = (*rmapp & ~KVMPPC_RMAP_INDEX) | j; in kvmppc_unmap_hpte() 832 *rmapp |= rcbits << KVMPPC_RMAP_RC_SHIFT; in kvmppc_unmap_hpte() 847 unsigned long *rmapp; in kvm_unmap_rmapp() local 849 rmapp = &memslot->arch.rmap[gfn - memslot->base_gfn]; in kvm_unmap_rmapp() 851 lock_rmap(rmapp); in kvm_unmap_rmapp() 852 if (!(*rmapp & KVMPPC_RMAP_PRESENT)) { in kvm_unmap_rmapp() 853 unlock_rmap(rmapp); in kvm_unmap_rmapp() 800 kvmppc_unmap_hpte(struct kvm *kvm, unsigned long i, struct kvm_memory_slot *memslot, unsigned long *rmapp, unsigned long gfn) kvmppc_unmap_hpte() argument 893 unsigned long *rmapp; kvmppc_core_flush_memslot_hv() local 922 unsigned long *rmapp; kvm_age_rmapp() local 985 unsigned long *rmapp; kvm_test_age_rmapp() local 1036 kvm_test_clear_dirty_npages(struct kvm *kvm, unsigned long *rmapp) kvm_test_clear_dirty_npages() argument 1139 unsigned long *rmapp; kvmppc_hv_get_dirty_log_hpt() local 1284 unsigned long *rmapp; resize_hpt_rehash_hpte() local [all...] |
H A D | book3s_64_mmu_radix.c | 589 unsigned long *rmapp, struct rmap_nested **n_rmap) in kvmppc_create_pte() 671 if (rmapp && n_rmap) in kvmppc_create_pte() 672 kvmhv_insert_nest_rmap(kvm, rmapp, n_rmap); in kvmppc_create_pte() 723 if (rmapp && n_rmap) in kvmppc_create_pte() 724 kvmhv_insert_nest_rmap(kvm, rmapp, n_rmap); in kvmppc_create_pte() 749 if (rmapp && n_rmap) in kvmppc_create_pte() 750 kvmhv_insert_nest_rmap(kvm, rmapp, n_rmap); in kvmppc_create_pte() 1025 unsigned long old, *rmapp; in kvm_age_radix() local 1036 rmapp = &memslot->arch.rmap[gfn - memslot->base_gfn]; in kvm_age_radix() 1037 kvmhv_update_nest_rmap_rc_list(kvm, rmapp, _PAGE_ACCESSE in kvm_age_radix() 586 kvmppc_create_pte(struct kvm *kvm, pgd_t *pgtable, pte_t pte, unsigned long gpa, unsigned int level, unsigned long mmu_seq, unsigned int lpid, unsigned long *rmapp, struct rmap_nested **n_rmap) kvmppc_create_pte() argument 1072 unsigned long old, *rmapp; kvm_radix_test_clear_dirty() local [all...] |
H A D | book3s_hv_nested.c | 804 void kvmhv_insert_nest_rmap(struct kvm *kvm, unsigned long *rmapp, in kvmhv_insert_nest_rmap() argument 807 struct llist_node *entry = ((struct llist_head *) rmapp)->first; in kvmhv_insert_nest_rmap() 812 if (!(*rmapp)) { in kvmhv_insert_nest_rmap() 814 *rmapp = new_rmap | RMAP_NESTED_IS_SINGLE_ENTRY; in kvmhv_insert_nest_rmap() 825 rmap = *rmapp; in kvmhv_insert_nest_rmap() 827 *rmapp = 0UL; in kvmhv_insert_nest_rmap() 828 llist_add(&((*n_rmap)->list), (struct llist_head *) rmapp); in kvmhv_insert_nest_rmap() 865 void kvmhv_update_nest_rmap_rc_list(struct kvm *kvm, unsigned long *rmapp, in kvmhv_update_nest_rmap_rc_list() argument 869 struct llist_node *entry = ((struct llist_head *) rmapp)->first; in kvmhv_update_nest_rmap_rc_list() 904 static void kvmhv_remove_nest_rmap_list(struct kvm *kvm, unsigned long *rmapp, in kvmhv_remove_nest_rmap_list() argument 945 unsigned long rmap, *rmapp = &free->arch.rmap[page]; kvmhv_free_memslot_nest_rmap() local 1312 unsigned long *rmapp; __kvmhv_nested_page_fault() local [all...] |
/kernel/linux/linux-6.6/arch/powerpc/kvm/ |
H A D | book3s_64_mmu_hv.c | 781 unsigned long *rmapp, unsigned long gfn) in kvmppc_unmap_hpte() 791 *rmapp &= ~(KVMPPC_RMAP_PRESENT | KVMPPC_RMAP_INDEX); in kvmppc_unmap_hpte() 798 *rmapp = (*rmapp & ~KVMPPC_RMAP_INDEX) | j; in kvmppc_unmap_hpte() 811 *rmapp |= rcbits << KVMPPC_RMAP_RC_SHIFT; in kvmppc_unmap_hpte() 826 unsigned long *rmapp; in kvm_unmap_rmapp() local 828 rmapp = &memslot->arch.rmap[gfn - memslot->base_gfn]; in kvm_unmap_rmapp() 830 lock_rmap(rmapp); in kvm_unmap_rmapp() 831 if (!(*rmapp & KVMPPC_RMAP_PRESENT)) { in kvm_unmap_rmapp() 832 unlock_rmap(rmapp); in kvm_unmap_rmapp() 779 kvmppc_unmap_hpte(struct kvm *kvm, unsigned long i, struct kvm_memory_slot *memslot, unsigned long *rmapp, unsigned long gfn) kvmppc_unmap_hpte() argument 877 unsigned long *rmapp; kvmppc_core_flush_memslot_hv() local 906 unsigned long *rmapp; kvm_age_rmapp() local 977 unsigned long *rmapp; kvm_test_age_rmapp() local 1034 kvm_test_clear_dirty_npages(struct kvm *kvm, unsigned long *rmapp) kvm_test_clear_dirty_npages() argument 1137 unsigned long *rmapp; kvmppc_hv_get_dirty_log_hpt() local 1282 unsigned long *rmapp; resize_hpt_rehash_hpte() local [all...] |
H A D | book3s_64_mmu_radix.c | 613 unsigned long *rmapp, struct rmap_nested **n_rmap) in kvmppc_create_pte() 695 if (rmapp && n_rmap) in kvmppc_create_pte() 696 kvmhv_insert_nest_rmap(kvm, rmapp, n_rmap); in kvmppc_create_pte() 747 if (rmapp && n_rmap) in kvmppc_create_pte() 748 kvmhv_insert_nest_rmap(kvm, rmapp, n_rmap); in kvmppc_create_pte() 773 if (rmapp && n_rmap) in kvmppc_create_pte() 774 kvmhv_insert_nest_rmap(kvm, rmapp, n_rmap); in kvmppc_create_pte() 1053 unsigned long old, *rmapp; in kvm_age_radix() local 1064 rmapp = &memslot->arch.rmap[gfn - memslot->base_gfn]; in kvm_age_radix() 1065 kvmhv_update_nest_rmap_rc_list(kvm, rmapp, _PAGE_ACCESSE in kvm_age_radix() 610 kvmppc_create_pte(struct kvm *kvm, pgd_t *pgtable, pte_t pte, unsigned long gpa, unsigned int level, unsigned long mmu_seq, unsigned int lpid, unsigned long *rmapp, struct rmap_nested **n_rmap) kvmppc_create_pte() argument 1101 unsigned long old, *rmapp; kvm_radix_test_clear_dirty() local [all...] |
H A D | book3s_hv_nested.c | 884 void kvmhv_insert_nest_rmap(struct kvm *kvm, unsigned long *rmapp, in kvmhv_insert_nest_rmap() argument 887 struct llist_node *entry = ((struct llist_head *) rmapp)->first; in kvmhv_insert_nest_rmap() 892 if (!(*rmapp)) { in kvmhv_insert_nest_rmap() 894 *rmapp = new_rmap | RMAP_NESTED_IS_SINGLE_ENTRY; in kvmhv_insert_nest_rmap() 905 rmap = *rmapp; in kvmhv_insert_nest_rmap() 907 *rmapp = 0UL; in kvmhv_insert_nest_rmap() 908 llist_add(&((*n_rmap)->list), (struct llist_head *) rmapp); in kvmhv_insert_nest_rmap() 945 void kvmhv_update_nest_rmap_rc_list(struct kvm *kvm, unsigned long *rmapp, in kvmhv_update_nest_rmap_rc_list() argument 949 struct llist_node *entry = ((struct llist_head *) rmapp)->first; in kvmhv_update_nest_rmap_rc_list() 984 static void kvmhv_remove_nest_rmap_list(struct kvm *kvm, unsigned long *rmapp, in kvmhv_remove_nest_rmap_list() argument 1025 unsigned long rmap, *rmapp = &free->arch.rmap[page]; kvmhv_free_memslot_nest_rmap() local 1496 unsigned long *rmapp; __kvmhv_nested_page_fault() local [all...] |
/kernel/linux/linux-5.10/arch/powerpc/include/asm/ |
H A D | kvm_book3s_64.h | 74 * @rmapp: an (unsigned long *) in which to return the rmap entries on each 101 #define for_each_nest_rmap_safe(pos, node, rmapp) \ 104 (*(rmapp) = ((RMAP_NESTED_IS_SINGLE_ENTRY & ((u64) (node))) ? \ 627 unsigned long *rmapp, struct rmap_nested **n_rmap); 628 extern void kvmhv_insert_nest_rmap(struct kvm *kvm, unsigned long *rmapp, 630 extern void kvmhv_update_nest_rmap_rc_list(struct kvm *kvm, unsigned long *rmapp,
|
/kernel/linux/linux-6.6/arch/powerpc/include/asm/ |
H A D | kvm_book3s_64.h | 61 * @rmapp: an (unsigned long *) in which to return the rmap entries on each 88 #define for_each_nest_rmap_safe(pos, node, rmapp) \ 91 (*(rmapp) = ((RMAP_NESTED_IS_SINGLE_ENTRY & ((u64) (node))) ? \ 628 unsigned long *rmapp, struct rmap_nested **n_rmap); 629 extern void kvmhv_insert_nest_rmap(struct kvm *kvm, unsigned long *rmapp, 631 extern void kvmhv_update_nest_rmap_rc_list(struct kvm *kvm, unsigned long *rmapp,
|