Lines Matching refs:asce
15 union asce { union
254 unsigned long asce : 64; /* Address-Space-Control Element */ member
359 static int ar_translation(struct kvm_vcpu *vcpu, union asce *asce, ar_t ar, in ar_translation() argument
377 asce->val = vcpu->arch.sie_block->gcr[1]; in ar_translation()
380 asce->val = vcpu->arch.sie_block->gcr[7]; in ar_translation()
444 asce->val = aste.asce; in ar_translation()
463 static int get_vcpu_asce(struct kvm_vcpu *vcpu, union asce *asce, in get_vcpu_asce() argument
477 asce->val = 0; in get_vcpu_asce()
478 asce->r = 1; in get_vcpu_asce()
484 asce->val = vcpu->arch.sie_block->gcr[1]; in get_vcpu_asce()
487 asce->val = vcpu->arch.sie_block->gcr[7]; in get_vcpu_asce()
490 asce->val = vcpu->arch.sie_block->gcr[13]; in get_vcpu_asce()
493 rc = ar_translation(vcpu, asce, ar, write); in get_vcpu_asce()
540 unsigned long *gpa, const union asce asce, in guest_translate() argument
554 if (asce.r) in guest_translate()
556 ptr = asce.origin * 4096; in guest_translate()
557 switch (asce.dt) { in guest_translate()
559 if (vaddr.rfx01 > asce.tl) in guest_translate()
566 if (vaddr.rsx01 > asce.tl) in guest_translate()
573 if (vaddr.rtx01 > asce.tl) in guest_translate()
580 if (vaddr.sx01 > asce.tl) in guest_translate()
585 switch (asce.dt) { in guest_translate()
633 if (rtte.cr && asce.p && edat2) in guest_translate()
660 if (ste.cs && asce.p) in guest_translate()
701 const union asce asce) in low_address_protection_enabled() argument
708 if (psw_bits(*psw).t && asce.p) in low_address_protection_enabled()
715 const union asce asce, int write) in guest_page_range() argument
723 lap_enabled = low_address_protection_enabled(vcpu, asce); in guest_page_range()
733 rc = guest_translate(vcpu, ga, pages, asce, write); in guest_page_range()
762 union asce asce; in access_guest() local
767 rc = get_vcpu_asce(vcpu, &asce, ar, write); in access_guest()
776 need_ipte_lock = psw_bits(*psw).t && !asce.r; in access_guest()
779 rc = guest_page_range(vcpu, ga, pages, nr_pages, asce, write); in access_guest()
833 union asce asce; in guest_translate_address() local
838 rc = get_vcpu_asce(vcpu, &asce, ar, write); in guest_translate_address()
842 if (is_low_address(gva) && low_address_protection_enabled(vcpu, asce)) { in guest_translate_address()
849 if (psw_bits(*psw).t && !asce.r) { /* Use DAT? */ in guest_translate_address()
850 rc = guest_translate(vcpu, gva, gpa, asce, write); in guest_translate_address()