Lines Matching refs:vpap
348 static int vpa_is_registered(struct kvmppc_vpa *vpap) in vpa_is_registered() argument
350 if (vpap->update_pending) in vpa_is_registered()
351 return vpap->next_gpa != 0; in vpa_is_registered()
352 return vpap->pinned_addr != NULL; in vpa_is_registered()
365 struct kvmppc_vpa *vpap; in do_h_register_vpa() local
397 vpap = NULL; in do_h_register_vpa()
404 vpap = &tvcpu->arch.vpa; in do_h_register_vpa()
418 vpap = &tvcpu->arch.dtl; in do_h_register_vpa()
428 vpap = &tvcpu->arch.slb_shadow; in do_h_register_vpa()
439 vpap = &tvcpu->arch.vpa; in do_h_register_vpa()
444 vpap = &tvcpu->arch.dtl; in do_h_register_vpa()
449 vpap = &tvcpu->arch.slb_shadow; in do_h_register_vpa()
454 if (vpap) { in do_h_register_vpa()
455 vpap->next_gpa = vpa; in do_h_register_vpa()
456 vpap->len = len; in do_h_register_vpa()
457 vpap->update_pending = 1; in do_h_register_vpa()
465 static void kvmppc_update_vpa(struct kvm_vcpu *vcpu, struct kvmppc_vpa *vpap) in kvmppc_update_vpa() argument
481 gpa = vpap->next_gpa; in kvmppc_update_vpa()
488 if (gpa == vpap->next_gpa) in kvmppc_update_vpa()
495 vpap->update_pending = 0; in kvmppc_update_vpa()
496 if (va && nb < vpap->len) { in kvmppc_update_vpa()
505 if (vpap->pinned_addr) in kvmppc_update_vpa()
506 kvmppc_unpin_guest_page(kvm, vpap->pinned_addr, vpap->gpa, in kvmppc_update_vpa()
507 vpap->dirty); in kvmppc_update_vpa()
508 vpap->gpa = gpa; in kvmppc_update_vpa()
509 vpap->pinned_addr = va; in kvmppc_update_vpa()
510 vpap->dirty = false; in kvmppc_update_vpa()
512 vpap->pinned_end = va + vpap->len; in kvmppc_update_vpa()