Lines Matching refs:vpap
468 static int vpa_is_registered(struct kvmppc_vpa *vpap) in vpa_is_registered() argument
470 if (vpap->update_pending) in vpa_is_registered()
471 return vpap->next_gpa != 0; in vpa_is_registered()
472 return vpap->pinned_addr != NULL; in vpa_is_registered()
485 struct kvmppc_vpa *vpap; in do_h_register_vpa() local
517 vpap = NULL; in do_h_register_vpa()
531 vpap = &tvcpu->arch.vpa; in do_h_register_vpa()
545 vpap = &tvcpu->arch.dtl; in do_h_register_vpa()
555 vpap = &tvcpu->arch.slb_shadow; in do_h_register_vpa()
566 vpap = &tvcpu->arch.vpa; in do_h_register_vpa()
571 vpap = &tvcpu->arch.dtl; in do_h_register_vpa()
576 vpap = &tvcpu->arch.slb_shadow; in do_h_register_vpa()
581 if (vpap) { in do_h_register_vpa()
582 vpap->next_gpa = vpa; in do_h_register_vpa()
583 vpap->len = len; in do_h_register_vpa()
584 vpap->update_pending = 1; in do_h_register_vpa()
592 static void kvmppc_update_vpa(struct kvm_vcpu *vcpu, struct kvmppc_vpa *vpap) in kvmppc_update_vpa() argument
608 gpa = vpap->next_gpa; in kvmppc_update_vpa()
615 if (gpa == vpap->next_gpa) in kvmppc_update_vpa()
622 vpap->update_pending = 0; in kvmppc_update_vpa()
623 if (va && nb < vpap->len) { in kvmppc_update_vpa()
632 if (vpap->pinned_addr) in kvmppc_update_vpa()
633 kvmppc_unpin_guest_page(kvm, vpap->pinned_addr, vpap->gpa, in kvmppc_update_vpa()
634 vpap->dirty); in kvmppc_update_vpa()
635 vpap->gpa = gpa; in kvmppc_update_vpa()
636 vpap->pinned_addr = va; in kvmppc_update_vpa()
637 vpap->dirty = false; in kvmppc_update_vpa()
639 vpap->pinned_end = va + vpap->len; in kvmppc_update_vpa()