Lines Matching refs:vpap
476 static int vpa_is_registered(struct kvmppc_vpa *vpap) in vpa_is_registered() argument
478 if (vpap->update_pending) in vpa_is_registered()
479 return vpap->next_gpa != 0; in vpa_is_registered()
480 return vpap->pinned_addr != NULL; in vpa_is_registered()
493 struct kvmppc_vpa *vpap; in do_h_register_vpa() local
525 vpap = NULL; in do_h_register_vpa()
539 vpap = &tvcpu->arch.vpa; in do_h_register_vpa()
553 vpap = &tvcpu->arch.dtl; in do_h_register_vpa()
563 vpap = &tvcpu->arch.slb_shadow; in do_h_register_vpa()
574 vpap = &tvcpu->arch.vpa; in do_h_register_vpa()
579 vpap = &tvcpu->arch.dtl; in do_h_register_vpa()
584 vpap = &tvcpu->arch.slb_shadow; in do_h_register_vpa()
589 if (vpap) { in do_h_register_vpa()
590 vpap->next_gpa = vpa; in do_h_register_vpa()
591 vpap->len = len; in do_h_register_vpa()
592 vpap->update_pending = 1; in do_h_register_vpa()
600 static void kvmppc_update_vpa(struct kvm_vcpu *vcpu, struct kvmppc_vpa *vpap) in kvmppc_update_vpa() argument
616 gpa = vpap->next_gpa; in kvmppc_update_vpa()
623 if (gpa == vpap->next_gpa) in kvmppc_update_vpa()
630 vpap->update_pending = 0; in kvmppc_update_vpa()
631 if (va && nb < vpap->len) { in kvmppc_update_vpa()
640 if (vpap->pinned_addr) in kvmppc_update_vpa()
641 kvmppc_unpin_guest_page(kvm, vpap->pinned_addr, vpap->gpa, in kvmppc_update_vpa()
642 vpap->dirty); in kvmppc_update_vpa()
643 vpap->gpa = gpa; in kvmppc_update_vpa()
644 vpap->pinned_addr = va; in kvmppc_update_vpa()
645 vpap->dirty = false; in kvmppc_update_vpa()
647 vpap->pinned_end = va + vpap->len; in kvmppc_update_vpa()