Lines Matching refs:gpa

642 static int pin_guest_page(struct kvm *kvm, gpa_t gpa, hpa_t *hpa)  in pin_guest_page()  argument
646 page = gfn_to_page(kvm, gpa_to_gfn(gpa)); in pin_guest_page()
649 *hpa = (hpa_t) page_to_virt(page) + (gpa & ~PAGE_MASK); in pin_guest_page()
654 static void unpin_guest_page(struct kvm *kvm, gpa_t gpa, hpa_t hpa) in unpin_guest_page() argument
658 mark_page_dirty(kvm, gpa_to_gfn(gpa)); in unpin_guest_page()
723 gpa_t gpa; in pin_blocks() local
726 gpa = READ_ONCE(scb_o->scaol) & ~0xfUL; in pin_blocks()
728 gpa |= (u64) READ_ONCE(scb_o->scaoh) << 32; in pin_blocks()
729 if (gpa) { in pin_blocks()
730 if (gpa < 2 * PAGE_SIZE) in pin_blocks()
732 else if ((gpa & ~0x1fffUL) == kvm_s390_get_prefix(vcpu)) in pin_blocks()
734 else if ((gpa & PAGE_MASK) != in pin_blocks()
735 ((gpa + sizeof(struct bsca_block) - 1) & PAGE_MASK)) in pin_blocks()
738 rc = pin_guest_page(vcpu->kvm, gpa, &hpa); in pin_blocks()
744 vsie_page->sca_gpa = gpa; in pin_blocks()
749 gpa = READ_ONCE(scb_o->itdba) & ~0xffUL; in pin_blocks()
750 if (gpa && (scb_s->ecb & ECB_TE)) { in pin_blocks()
751 if (gpa < 2 * PAGE_SIZE) { in pin_blocks()
756 rc = pin_guest_page(vcpu->kvm, gpa, &hpa); in pin_blocks()
761 vsie_page->itdba_gpa = gpa; in pin_blocks()
765 gpa = READ_ONCE(scb_o->gvrd) & ~0x1ffUL; in pin_blocks()
766 if (gpa && (scb_s->eca & ECA_VX) && !(scb_s->ecd & ECD_HOSTREGMGMT)) { in pin_blocks()
767 if (gpa < 2 * PAGE_SIZE) { in pin_blocks()
775 rc = pin_guest_page(vcpu->kvm, gpa, &hpa); in pin_blocks()
780 vsie_page->gvrd_gpa = gpa; in pin_blocks()
784 gpa = READ_ONCE(scb_o->riccbd) & ~0x3fUL; in pin_blocks()
785 if (gpa && (scb_s->ecb3 & ECB3_RI)) { in pin_blocks()
786 if (gpa < 2 * PAGE_SIZE) { in pin_blocks()
791 rc = pin_guest_page(vcpu->kvm, gpa, &hpa); in pin_blocks()
797 vsie_page->riccbd_gpa = gpa; in pin_blocks()
804 gpa = READ_ONCE(scb_o->sdnxo) & ~0xfUL; in pin_blocks()
806 if (!gpa || gpa < 2 * PAGE_SIZE) { in pin_blocks()
814 if (gpa & ((1 << sdnxc) - 1)) { in pin_blocks()
821 rc = pin_guest_page(vcpu->kvm, gpa, &hpa); in pin_blocks()
826 vsie_page->sdnx_gpa = gpa; in pin_blocks()
837 gpa_t gpa) in unpin_scb() argument
842 unpin_guest_page(vcpu->kvm, gpa, hpa); in unpin_scb()
853 gpa_t gpa) in pin_scb() argument
858 rc = pin_guest_page(vcpu->kvm, gpa, &hpa); in pin_scb()