Lines Matching refs:rmapp

670 					       unsigned long *rmapp,  in kvm_handle_hva_range()  argument
707 int (*handler)(struct kvm *kvm, unsigned long *rmapp, in kvm_handle_hva() argument
713 static int kvm_unmap_rmapp(struct kvm *kvm, unsigned long *rmapp, in kvm_unmap_rmapp() argument
722 lock_rmap(rmapp); in kvm_unmap_rmapp()
723 if (!(*rmapp & KVMPPC_RMAP_PRESENT)) { in kvm_unmap_rmapp()
724 unlock_rmap(rmapp); in kvm_unmap_rmapp()
733 i = *rmapp & KVMPPC_RMAP_INDEX; in kvm_unmap_rmapp()
737 unlock_rmap(rmapp); in kvm_unmap_rmapp()
745 *rmapp &= ~(KVMPPC_RMAP_PRESENT | KVMPPC_RMAP_INDEX); in kvm_unmap_rmapp()
752 *rmapp = (*rmapp & ~KVMPPC_RMAP_INDEX) | j; in kvm_unmap_rmapp()
764 *rmapp |= rcbits << KVMPPC_RMAP_RC_SHIFT; in kvm_unmap_rmapp()
766 kvmppc_update_rmap_change(rmapp, psize); in kvm_unmap_rmapp()
772 unlock_rmap(rmapp); in kvm_unmap_rmapp()
793 unsigned long *rmapp; in kvmppc_core_flush_memslot_hv() local
797 rmapp = memslot->arch.rmap; in kvmppc_core_flush_memslot_hv()
806 if (*rmapp & KVMPPC_RMAP_PRESENT) in kvmppc_core_flush_memslot_hv()
807 kvm_unmap_rmapp(kvm, rmapp, gfn); in kvmppc_core_flush_memslot_hv()
808 ++rmapp; in kvmppc_core_flush_memslot_hv()
813 static int kvm_age_rmapp(struct kvm *kvm, unsigned long *rmapp, in kvm_age_rmapp() argument
822 lock_rmap(rmapp); in kvm_age_rmapp()
823 if (*rmapp & KVMPPC_RMAP_REFERENCED) { in kvm_age_rmapp()
824 *rmapp &= ~KVMPPC_RMAP_REFERENCED; in kvm_age_rmapp()
827 if (!(*rmapp & KVMPPC_RMAP_PRESENT)) { in kvm_age_rmapp()
828 unlock_rmap(rmapp); in kvm_age_rmapp()
832 i = head = *rmapp & KVMPPC_RMAP_INDEX; in kvm_age_rmapp()
843 unlock_rmap(rmapp); in kvm_age_rmapp()
862 unlock_rmap(rmapp); in kvm_age_rmapp()
871 static int kvm_test_age_rmapp(struct kvm *kvm, unsigned long *rmapp, in kvm_test_age_rmapp() argument
879 if (*rmapp & KVMPPC_RMAP_REFERENCED) in kvm_test_age_rmapp()
882 lock_rmap(rmapp); in kvm_test_age_rmapp()
883 if (*rmapp & KVMPPC_RMAP_REFERENCED) in kvm_test_age_rmapp()
886 if (*rmapp & KVMPPC_RMAP_PRESENT) { in kvm_test_age_rmapp()
887 i = head = *rmapp & KVMPPC_RMAP_INDEX; in kvm_test_age_rmapp()
898 unlock_rmap(rmapp); in kvm_test_age_rmapp()
921 static int kvm_test_clear_dirty_npages(struct kvm *kvm, unsigned long *rmapp) in kvm_test_clear_dirty_npages() argument
931 lock_rmap(rmapp); in kvm_test_clear_dirty_npages()
932 if (*rmapp & KVMPPC_RMAP_CHANGED) { in kvm_test_clear_dirty_npages()
933 long change_order = (*rmapp & KVMPPC_RMAP_CHG_ORDER) in kvm_test_clear_dirty_npages()
935 *rmapp &= ~(KVMPPC_RMAP_CHANGED | KVMPPC_RMAP_CHG_ORDER); in kvm_test_clear_dirty_npages()
940 if (!(*rmapp & KVMPPC_RMAP_PRESENT)) { in kvm_test_clear_dirty_npages()
941 unlock_rmap(rmapp); in kvm_test_clear_dirty_npages()
945 i = head = *rmapp & KVMPPC_RMAP_INDEX; in kvm_test_clear_dirty_npages()
972 unlock_rmap(rmapp); in kvm_test_clear_dirty_npages()
1006 unlock_rmap(rmapp); in kvm_test_clear_dirty_npages()
1032 unsigned long *rmapp; in kvmppc_hv_get_dirty_log() local
1036 rmapp = memslot->arch.rmap; in kvmppc_hv_get_dirty_log()
1038 int npages = kvm_test_clear_dirty_npages(kvm, rmapp); in kvmppc_hv_get_dirty_log()
1047 ++rmapp; in kvmppc_hv_get_dirty_log()