Lines Matching refs:asce
20 union asce { union
259 unsigned long asce : 64; /* Address-Space-Control Element */ member
380 static int ar_translation(struct kvm_vcpu *vcpu, union asce *asce, u8 ar, in ar_translation() argument
398 asce->val = vcpu->arch.sie_block->gcr[1]; in ar_translation()
401 asce->val = vcpu->arch.sie_block->gcr[7]; in ar_translation()
465 asce->val = aste.asce; in ar_translation()
572 static int get_vcpu_asce(struct kvm_vcpu *vcpu, union asce *asce, in get_vcpu_asce() argument
579 asce->val = 0; in get_vcpu_asce()
580 asce->r = 1; in get_vcpu_asce()
589 asce->val = vcpu->arch.sie_block->gcr[1]; in get_vcpu_asce()
592 asce->val = vcpu->arch.sie_block->gcr[7]; in get_vcpu_asce()
595 asce->val = vcpu->arch.sie_block->gcr[13]; in get_vcpu_asce()
598 rc = ar_translation(vcpu, asce, ar, mode); in get_vcpu_asce()
633 unsigned long *gpa, const union asce asce, in guest_translate() argument
649 if (asce.r) in guest_translate()
651 ptr = asce.origin * PAGE_SIZE; in guest_translate()
652 switch (asce.dt) { in guest_translate()
654 if (vaddr.rfx01 > asce.tl) in guest_translate()
661 if (vaddr.rsx01 > asce.tl) in guest_translate()
668 if (vaddr.rtx01 > asce.tl) in guest_translate()
675 if (vaddr.sx01 > asce.tl) in guest_translate()
680 switch (asce.dt) { in guest_translate()
728 if (rtte.cr && asce.p && edat2) in guest_translate()
756 if (ste.cs && asce.p) in guest_translate()
803 const union asce asce) in low_address_protection_enabled() argument
810 if (psw_bits(*psw).dat && asce.p) in low_address_protection_enabled()
845 union asce asce) in fetch_prot_override_applicable() argument
855 override = override && !(psw_bits(*psw).dat && asce.p); in fetch_prot_override_applicable()
879 enum gacc_mode mode, union asce asce, gpa_t gpa, in vcpu_check_access_key() argument
907 if (fetch_prot_override_applicable(vcpu, mode, asce) && in vcpu_check_access_key()
954 const union asce asce, enum gacc_mode mode, in guest_range_to_gpas() argument
964 lap_enabled = low_address_protection_enabled(vcpu, asce); in guest_range_to_gpas()
972 rc = guest_translate(vcpu, ga, &gpa, asce, mode, &prot); in guest_range_to_gpas()
984 rc = vcpu_check_access_key(vcpu, access_key, mode, asce, gpa, ga, in guest_range_to_gpas()
1076 union asce asce; in access_guest_with_key() local
1084 rc = get_vcpu_asce(vcpu, &asce, ga, ar, mode); in access_guest_with_key()
1093 try_fetch_prot_override = fetch_prot_override_applicable(vcpu, mode, asce); in access_guest_with_key()
1095 need_ipte_lock = psw_bits(*psw).dat && !asce.r; in access_guest_with_key()
1108 rc = guest_range_to_gpas(vcpu, ga, ar, gpas, len, asce, mode, 0); in access_guest_with_key()
1183 union asce asce; in guest_translate_address_with_key() local
1187 rc = get_vcpu_asce(vcpu, &asce, gva, ar, mode); in guest_translate_address_with_key()
1190 return guest_range_to_gpas(vcpu, gva, ar, gpa, 1, asce, mode, in guest_translate_address_with_key()
1206 union asce asce; in check_gva_range() local
1209 rc = get_vcpu_asce(vcpu, &asce, gva, ar, mode); in check_gva_range()
1213 rc = guest_range_to_gpas(vcpu, gva, ar, NULL, length, asce, mode, in check_gva_range()
1277 union asce asce; in kvm_s390_shadow_tables() local
1286 asce.val = sg->orig_asce; in kvm_s390_shadow_tables()
1287 ptr = asce.origin * PAGE_SIZE; in kvm_s390_shadow_tables()
1288 if (asce.r) { in kvm_s390_shadow_tables()
1291 asce.dt = ASCE_TYPE_REGION1; in kvm_s390_shadow_tables()
1293 switch (asce.dt) { in kvm_s390_shadow_tables()
1295 if (vaddr.rfx01 > asce.tl && !*fake) in kvm_s390_shadow_tables()
1301 if (vaddr.rsx01 > asce.tl) in kvm_s390_shadow_tables()
1307 if (vaddr.rtx01 > asce.tl) in kvm_s390_shadow_tables()
1313 if (vaddr.sx01 > asce.tl) in kvm_s390_shadow_tables()
1318 switch (asce.dt) { in kvm_s390_shadow_tables()
1390 if (rtte.cr && asce.p && sg->edat_level >= 2) in kvm_s390_shadow_tables()
1427 if (ste.cs && asce.p) in kvm_s390_shadow_tables()