Lines Matching refs:ga
555 unsigned long ga, u8 ar, enum gacc_mode mode) in get_vcpu_asce() argument
582 return trans_exc(vcpu, rc, ga, ar, mode, PROT_TYPE_ALC); in get_vcpu_asce()
778 static inline int is_low_address(unsigned long ga) in is_low_address() argument
781 return (ga & ~0x11fful) == 0; in is_low_address()
797 static int guest_page_range(struct kvm_vcpu *vcpu, unsigned long ga, u8 ar, in guest_page_range() argument
807 ga = kvm_s390_logical_to_effective(vcpu, ga); in guest_page_range()
808 if (mode == GACC_STORE && lap_enabled && is_low_address(ga)) in guest_page_range()
809 return trans_exc(vcpu, PGM_PROTECTION, ga, ar, mode, in guest_page_range()
811 ga &= PAGE_MASK; in guest_page_range()
813 rc = guest_translate(vcpu, ga, pages, asce, mode, &prot); in guest_page_range()
817 *pages = kvm_s390_real_to_abs(vcpu, ga); in guest_page_range()
822 return trans_exc(vcpu, rc, ga, ar, mode, prot); in guest_page_range()
823 ga += PAGE_SIZE; in guest_page_range()
830 int access_guest(struct kvm_vcpu *vcpu, unsigned long ga, u8 ar, void *data, in access_guest() argument
843 ga = kvm_s390_logical_to_effective(vcpu, ga); in access_guest()
844 rc = get_vcpu_asce(vcpu, &asce, ga, ar, mode); in access_guest()
847 nr_pages = (((ga & ~PAGE_MASK) + len - 1) >> PAGE_SHIFT) + 1; in access_guest()
856 rc = guest_page_range(vcpu, ga, ar, pages, nr_pages, asce, mode); in access_guest()
858 gpa = *(pages + idx) + (ga & ~PAGE_MASK); in access_guest()
865 ga += _len; in access_guest()