Lines Matching defs:vpap
477 static int vpa_is_registered(struct kvmppc_vpa *vpap)
479 if (vpap->update_pending)
480 return vpap->next_gpa != 0;
481 return vpap->pinned_addr != NULL;
494 struct kvmppc_vpa *vpap;
526 vpap = NULL;
540 vpap = &tvcpu->arch.vpa;
554 vpap = &tvcpu->arch.dtl;
564 vpap = &tvcpu->arch.slb_shadow;
575 vpap = &tvcpu->arch.vpa;
580 vpap = &tvcpu->arch.dtl;
585 vpap = &tvcpu->arch.slb_shadow;
590 if (vpap) {
591 vpap->next_gpa = vpa;
592 vpap->len = len;
593 vpap->update_pending = 1;
601 static void kvmppc_update_vpa(struct kvm_vcpu *vcpu, struct kvmppc_vpa *vpap)
609 * We need to pin the page pointed to by vpap->next_gpa,
617 gpa = vpap->next_gpa;
624 if (gpa == vpap->next_gpa)
631 vpap->update_pending = 0;
632 if (va && nb < vpap->len) {
641 if (vpap->pinned_addr)
642 kvmppc_unpin_guest_page(kvm, vpap->pinned_addr, vpap->gpa,
643 vpap->dirty);
644 vpap->gpa = gpa;
645 vpap->pinned_addr = va;
646 vpap->dirty = false;
648 vpap->pinned_end = va + vpap->len;