Lines Matching refs:vpap
472 static int vpa_is_registered(struct kvmppc_vpa *vpap) in vpa_is_registered() argument
474 if (vpap->update_pending) in vpa_is_registered()
475 return vpap->next_gpa != 0; in vpa_is_registered()
476 return vpap->pinned_addr != NULL; in vpa_is_registered()
489 struct kvmppc_vpa *vpap; in do_h_register_vpa() local
521 vpap = NULL; in do_h_register_vpa()
535 vpap = &tvcpu->arch.vpa; in do_h_register_vpa()
549 vpap = &tvcpu->arch.dtl; in do_h_register_vpa()
559 vpap = &tvcpu->arch.slb_shadow; in do_h_register_vpa()
570 vpap = &tvcpu->arch.vpa; in do_h_register_vpa()
575 vpap = &tvcpu->arch.dtl; in do_h_register_vpa()
580 vpap = &tvcpu->arch.slb_shadow; in do_h_register_vpa()
585 if (vpap) { in do_h_register_vpa()
586 vpap->next_gpa = vpa; in do_h_register_vpa()
587 vpap->len = len; in do_h_register_vpa()
588 vpap->update_pending = 1; in do_h_register_vpa()
596 static void kvmppc_update_vpa(struct kvm_vcpu *vcpu, struct kvmppc_vpa *vpap) in kvmppc_update_vpa() argument
612 gpa = vpap->next_gpa; in kvmppc_update_vpa()
619 if (gpa == vpap->next_gpa) in kvmppc_update_vpa()
626 vpap->update_pending = 0; in kvmppc_update_vpa()
627 if (va && nb < vpap->len) { in kvmppc_update_vpa()
636 if (vpap->pinned_addr) in kvmppc_update_vpa()
637 kvmppc_unpin_guest_page(kvm, vpap->pinned_addr, vpap->gpa, in kvmppc_update_vpa()
638 vpap->dirty); in kvmppc_update_vpa()
639 vpap->gpa = gpa; in kvmppc_update_vpa()
640 vpap->pinned_addr = va; in kvmppc_update_vpa()
641 vpap->dirty = false; in kvmppc_update_vpa()
643 vpap->pinned_end = va + vpap->len; in kvmppc_update_vpa()