• Home
  • Raw
  • Download

Lines Matching refs:gpa

606 static int deref_table(struct kvm *kvm, unsigned long gpa, unsigned long *val)  in deref_table()  argument
608 return kvm_read_guest(kvm, gpa, val, sizeof(*val)); in deref_table()
633 unsigned long *gpa, const union asce asce, in guest_translate() argument
792 *gpa = raddr.addr; in guest_translate()
816 enum gacc_mode mode, gpa_t gpa) in vm_check_access_key() argument
826 hva = gfn_to_hva(kvm, gpa_to_gfn(gpa)); in vm_check_access_key()
879 enum gacc_mode mode, union asce asce, gpa_t gpa, in vcpu_check_access_key() argument
893 hva = gfn_to_hva(vcpu->kvm, gpa_to_gfn(gpa)); in vcpu_check_access_key()
962 unsigned long gpa; in guest_range_to_gpas() local
972 rc = guest_translate(vcpu, ga, &gpa, asce, mode, &prot); in guest_range_to_gpas()
976 gpa = kvm_s390_real_to_abs(vcpu, ga); in guest_range_to_gpas()
977 if (kvm_is_error_gpa(vcpu->kvm, gpa)) { in guest_range_to_gpas()
984 rc = vcpu_check_access_key(vcpu, access_key, mode, asce, gpa, ga, in guest_range_to_gpas()
989 *gpas++ = gpa; in guest_range_to_gpas()
997 static int access_guest_page(struct kvm *kvm, enum gacc_mode mode, gpa_t gpa, in access_guest_page() argument
1000 const unsigned int offset = offset_in_page(gpa); in access_guest_page()
1001 const gfn_t gfn = gpa_to_gfn(gpa); in access_guest_page()
1012 access_guest_page_with_key(struct kvm *kvm, enum gacc_mode mode, gpa_t gpa, in access_guest_page_with_key() argument
1021 gfn = gpa >> PAGE_SHIFT; in access_guest_page_with_key()
1033 hva += offset_in_page(gpa); in access_guest_page_with_key()
1045 int access_guest_abs_with_key(struct kvm *kvm, gpa_t gpa, void *data, in access_guest_abs_with_key() argument
1048 int offset = offset_in_page(gpa); in access_guest_abs_with_key()
1054 rc = access_guest_page_with_key(kvm, mode, gpa, data, fragment_len, access_key); in access_guest_abs_with_key()
1060 gpa += fragment_len; in access_guest_abs_with_key()
1150 unsigned long gpa; in access_guest_real() local
1154 gpa = kvm_s390_real_to_abs(vcpu, gra); in access_guest_real()
1155 fragment_len = min(PAGE_SIZE - offset_in_page(gpa), len); in access_guest_real()
1156 rc = access_guest_page(vcpu->kvm, mode, gpa, data, fragment_len); in access_guest_real()
1188 int cmpxchg_guest_abs_with_key(struct kvm *kvm, gpa_t gpa, int len, in cmpxchg_guest_abs_with_key() argument
1192 gfn_t gfn = gpa_to_gfn(gpa); in cmpxchg_guest_abs_with_key()
1198 if (!IS_ALIGNED(gpa, len)) in cmpxchg_guest_abs_with_key()
1212 hva += offset_in_page(gpa); in cmpxchg_guest_abs_with_key()
1289 unsigned long *gpa, enum gacc_mode mode, in guest_translate_address_with_key() argument
1299 return guest_range_to_gpas(vcpu, gva, ar, gpa, 1, asce, mode, in guest_translate_address_with_key()
1337 int check_gpa_range(struct kvm *kvm, unsigned long gpa, unsigned long length, in check_gpa_range() argument
1344 fragment_len = min(PAGE_SIZE - offset_in_page(gpa), length); in check_gpa_range()
1345 rc = vm_check_access_key(kvm, access_key, mode, gpa); in check_gpa_range()
1347 gpa += fragment_len; in check_gpa_range()