Lines Matching refs:asce

20 union asce {
259 unsigned long asce : 64; /* Address-Space-Control Element */
380 static int ar_translation(struct kvm_vcpu *vcpu, union asce *asce, u8 ar,
399 asce->val = vcpu->arch.sie_block->gcr[1];
402 asce->val = vcpu->arch.sie_block->gcr[7];
466 asce->val = aste.asce;
556 static int get_vcpu_asce(struct kvm_vcpu *vcpu, union asce *asce,
563 asce->val = 0;
564 asce->r = 1;
573 asce->val = vcpu->arch.sie_block->gcr[1];
576 asce->val = vcpu->arch.sie_block->gcr[7];
579 asce->val = vcpu->arch.sie_block->gcr[13];
582 rc = ar_translation(vcpu, asce, ar, mode);
600 * @asce: effective asce
617 unsigned long *gpa, const union asce asce,
633 if (asce.r)
635 ptr = asce.origin * PAGE_SIZE;
636 switch (asce.dt) {
638 if (vaddr.rfx01 > asce.tl)
645 if (vaddr.rsx01 > asce.tl)
652 if (vaddr.rtx01 > asce.tl)
659 if (vaddr.sx01 > asce.tl)
664 switch (asce.dt) {
712 if (rtte.cr && asce.p && edat2)
740 if (ste.cs && asce.p)
787 const union asce asce)
794 if (psw_bits(*psw).dat && asce.p)
829 union asce asce)
839 override = override && !(psw_bits(*psw).dat && asce.p);
863 enum gacc_mode mode, union asce asce, gpa_t gpa,
891 if (fetch_prot_override_applicable(vcpu, mode, asce) &&
909 * @asce: address-space-control element to use for translation
916 * The translation is performed as if done by the cpu for the given @asce, @ar,
938 const union asce asce, enum gacc_mode mode,
948 lap_enabled = low_address_protection_enabled(vcpu, asce);
956 rc = guest_translate(vcpu, ga, &gpa, asce, mode, &prot);
968 rc = vcpu_check_access_key(vcpu, access_key, mode, asce, gpa, ga,
1060 union asce asce;
1068 rc = get_vcpu_asce(vcpu, &asce, ga, ar, mode);
1077 try_fetch_prot_override = fetch_prot_override_applicable(vcpu, mode, asce);
1079 need_ipte_lock = psw_bits(*psw).dat && !asce.r;
1092 rc = guest_range_to_gpas(vcpu, ga, ar, gpas, len, asce, mode, 0);
1276 union asce asce;
1280 rc = get_vcpu_asce(vcpu, &asce, gva, ar, mode);
1283 return guest_range_to_gpas(vcpu, gva, ar, gpa, 1, asce, mode,
1299 union asce asce;
1302 rc = get_vcpu_asce(vcpu, &asce, gva, ar, mode);
1306 rc = guest_range_to_gpas(vcpu, gva, ar, NULL, length, asce, mode,
1371 union asce asce;
1381 asce.val = sg->orig_asce;
1382 ptr = asce.origin * PAGE_SIZE;
1383 if (asce.r) {
1386 asce.dt = ASCE_TYPE_REGION1;
1388 switch (asce.dt) {
1390 if (vaddr.rfx01 > asce.tl && !*fake)
1396 if (vaddr.rsx01 > asce.tl)
1402 if (vaddr.rtx01 > asce.tl)
1408 if (vaddr.sx01 > asce.tl)
1413 switch (asce.dt) {
1487 if (rtte.cr && asce.p && sg->edat_level >= 2)
1525 if (ste.cs && asce.p)