asce 53 arch/s390/include/asm/gmap.h unsigned long asce; asce 122 arch/s390/include/asm/gmap.h struct gmap *gmap_shadow(struct gmap *parent, unsigned long asce, asce 124 arch/s390/include/asm/gmap.h int gmap_shadow_valid(struct gmap *sg, unsigned long asce, int edat_level); asce 16 arch/s390/include/asm/mmu.h unsigned long asce; asce 47 arch/s390/include/asm/mmu_context.h mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH | asce 52 arch/s390/include/asm/mmu_context.h mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH | asce 57 arch/s390/include/asm/mmu_context.h mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH | asce 62 arch/s390/include/asm/mmu_context.h mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH | asce 73 arch/s390/include/asm/mmu_context.h S390_lowcore.user_asce = mm->context.asce; asce 93 arch/s390/include/asm/mmu_context.h S390_lowcore.user_asce = next->context.asce; asce 167 arch/s390/include/asm/pgalloc.h void base_asce_free(unsigned long asce); asce 582 arch/s390/include/asm/pgtable.h unsigned long address, unsigned long asce) asce 591 arch/s390/include/asm/pgtable.h : "d" (reg3), "d" (reg4), "d" (reg5), "a" (asce) asce 1007 arch/s390/include/asm/pgtable.h unsigned long opt, unsigned long asce, asce 1022 arch/s390/include/asm/pgtable.h opt = opt | (asce & _ASCE_ORIGIN); asce 1446 arch/s390/include/asm/pgtable.h unsigned long opt, unsigned long asce, asce 1466 arch/s390/include/asm/pgtable.h [r3] "a" (asce), [m4] "i" (local) asce 1472 arch/s390/include/asm/pgtable.h unsigned long opt, unsigned long asce, asce 1493 arch/s390/include/asm/pgtable.h [r3] "a" (asce), [m4] "i" (local) asce 22 arch/s390/include/asm/tlbflush.h static inline void __tlb_flush_idte(unsigned long asce) asce 32 arch/s390/include/asm/tlbflush.h : : "a" (opt), "a" (asce) : "cc"); asce 69 arch/s390/include/asm/tlbflush.h __tlb_flush_idte(mm->context.asce); asce 81 arch/s390/include/asm/tlbflush.h __tlb_flush_idte(init_mm.context.asce); asce 201 arch/s390/kernel/asm-offsets.c OFFSET(__GMAP_ASCE, gmap, asce); asce 258 arch/s390/kvm/gaccess.c unsigned long asce : 64; /* Address-Space-Control Element */ asce 379 arch/s390/kvm/gaccess.c static int ar_translation(struct kvm_vcpu *vcpu, union asce *asce, u8 ar, asce 397 arch/s390/kvm/gaccess.c asce->val = vcpu->arch.sie_block->gcr[1]; asce 400 arch/s390/kvm/gaccess.c asce->val = vcpu->arch.sie_block->gcr[7]; asce 464 arch/s390/kvm/gaccess.c asce->val = aste.asce; asce 554 arch/s390/kvm/gaccess.c static int get_vcpu_asce(struct kvm_vcpu *vcpu, union asce *asce, asce 561 arch/s390/kvm/gaccess.c asce->val = 0; asce 562 arch/s390/kvm/gaccess.c asce->r = 1; asce 571 arch/s390/kvm/gaccess.c asce->val = vcpu->arch.sie_block->gcr[1]; asce 574 arch/s390/kvm/gaccess.c asce->val = vcpu->arch.sie_block->gcr[7]; asce 577 arch/s390/kvm/gaccess.c asce->val = vcpu->arch.sie_block->gcr[13]; asce 580 arch/s390/kvm/gaccess.c rc = ar_translation(vcpu, asce, ar, mode); asce 615 arch/s390/kvm/gaccess.c unsigned long *gpa, const union asce asce, asce 631 arch/s390/kvm/gaccess.c if (asce.r) asce 633 arch/s390/kvm/gaccess.c ptr = asce.origin * PAGE_SIZE; asce 634 arch/s390/kvm/gaccess.c switch (asce.dt) { asce 636 arch/s390/kvm/gaccess.c if (vaddr.rfx01 > asce.tl) asce 643 arch/s390/kvm/gaccess.c if (vaddr.rsx01 > asce.tl) asce 650 arch/s390/kvm/gaccess.c if (vaddr.rtx01 > asce.tl) asce 657 arch/s390/kvm/gaccess.c if (vaddr.sx01 > asce.tl) asce 662 arch/s390/kvm/gaccess.c switch (asce.dt) { asce 710 arch/s390/kvm/gaccess.c if (rtte.cr && asce.p && edat2) asce 738 arch/s390/kvm/gaccess.c if (ste.cs && asce.p) asce 785 arch/s390/kvm/gaccess.c const union asce asce) asce 792 arch/s390/kvm/gaccess.c if (psw_bits(*psw).dat && asce.p) asce 799 arch/s390/kvm/gaccess.c const union asce asce, enum gacc_mode mode) asce 805 arch/s390/kvm/gaccess.c lap_enabled = low_address_protection_enabled(vcpu, asce); asce 813 arch/s390/kvm/gaccess.c rc = guest_translate(vcpu, ga, pages, asce, mode, &prot); asce 838 arch/s390/kvm/gaccess.c union asce asce; asce 844 arch/s390/kvm/gaccess.c rc = get_vcpu_asce(vcpu, &asce, ga, ar, mode); asce 853 arch/s390/kvm/gaccess.c need_ipte_lock = psw_bits(*psw).dat && !asce.r; asce 856 arch/s390/kvm/gaccess.c rc = guest_page_range(vcpu, ga, ar, pages, nr_pages, asce, mode); asce 909 arch/s390/kvm/gaccess.c union asce asce; asce 913 arch/s390/kvm/gaccess.c rc = get_vcpu_asce(vcpu, &asce, gva, ar, mode); asce 916 arch/s390/kvm/gaccess.c if (is_low_address(gva) && low_address_protection_enabled(vcpu, asce)) { asce 922 arch/s390/kvm/gaccess.c if (psw_bits(*psw).dat && !asce.r) { /* Use DAT? */ asce 923 arch/s390/kvm/gaccess.c rc = guest_translate(vcpu, gva, gpa, asce, mode, &prot); asce 987 arch/s390/kvm/gaccess.c union asce asce; asce 996 arch/s390/kvm/gaccess.c asce.val = sg->orig_asce; asce 997 arch/s390/kvm/gaccess.c ptr = asce.origin * PAGE_SIZE; asce 998 arch/s390/kvm/gaccess.c if (asce.r) { asce 1001 arch/s390/kvm/gaccess.c asce.dt = ASCE_TYPE_REGION1; asce 1003 arch/s390/kvm/gaccess.c switch (asce.dt) { asce 1005 arch/s390/kvm/gaccess.c if (vaddr.rfx01 > asce.tl && !*fake) asce 1011 arch/s390/kvm/gaccess.c if (vaddr.rsx01 > asce.tl) asce 1017 arch/s390/kvm/gaccess.c if (vaddr.rtx01 > asce.tl) asce 1023 arch/s390/kvm/gaccess.c if (vaddr.sx01 > asce.tl) asce 1028 arch/s390/kvm/gaccess.c switch (asce.dt) { asce 1095 arch/s390/kvm/gaccess.c if (rtte.cr && asce.p && sg->edat_level >= 2) asce 1130 arch/s390/kvm/gaccess.c if (ste.cs && asce.p) asce 889 arch/s390/kvm/kvm-s390.c (void *) kvm->arch.gmap->asce); asce 1090 arch/s390/kvm/vsie.c unsigned long asce; asce 1095 arch/s390/kvm/vsie.c asce = vcpu->arch.sie_block->gcr[1]; asce 1105 arch/s390/kvm/vsie.c if (vsie_page->gmap && gmap_shadow_valid(vsie_page->gmap, asce, edat)) asce 1110 arch/s390/kvm/vsie.c gmap = gmap_shadow(vcpu->arch.gmap, asce, edat); asce 66 arch/s390/lib/uaccess.c unsigned long asce, cr; asce 75 arch/s390/lib/uaccess.c asce = S390_lowcore.kernel_asce; asce 82 arch/s390/lib/uaccess.c asce = S390_lowcore.user_asce; asce 85 arch/s390/lib/uaccess.c if (cr != asce) { asce 86 arch/s390/lib/uaccess.c __ctl_load(asce, 7, 7); asce 111 arch/s390/mm/fault.c static void dump_pagetable(unsigned long asce, unsigned long address) asce 113 arch/s390/mm/fault.c unsigned long *table = __va(asce & _ASCE_ORIGIN); asce 115 arch/s390/mm/fault.c pr_alert("AS:%016lx ", asce); asce 116 arch/s390/mm/fault.c switch (asce & _ASCE_TYPE_MASK) { asce 166 arch/s390/mm/fault.c unsigned long asce; asce 188 arch/s390/mm/fault.c asce = S390_lowcore.user_asce; asce 192 arch/s390/mm/fault.c asce = S390_lowcore.vdso_asce; asce 196 arch/s390/mm/fault.c asce = ((struct gmap *) S390_lowcore.gmap)->asce; asce 200 arch/s390/mm/fault.c asce = S390_lowcore.kernel_asce; asce 207 arch/s390/mm/fault.c dump_pagetable(asce, regs->int_parm_long & __FAIL_ADDR_MASK); asce 79 arch/s390/mm/gmap.c gmap->asce = atype | _ASCE_TABLE_LENGTH | asce 109 arch/s390/mm/gmap.c gmap_asce = gmap->asce; asce 121 arch/s390/mm/gmap.c __tlb_flush_idte(gmap->asce); asce 260 arch/s390/mm/gmap.c struct gmap, list)->asce; asce 555 arch/s390/mm/gmap.c if ((gmap->asce & _ASCE_TYPE_MASK) >= _ASCE_TYPE_REGION1) { asce 563 arch/s390/mm/gmap.c if ((gmap->asce & _ASCE_TYPE_MASK) >= _ASCE_TYPE_REGION2) { asce 571 arch/s390/mm/gmap.c if ((gmap->asce & _ASCE_TYPE_MASK) >= _ASCE_TYPE_REGION3) { asce 790 arch/s390/mm/gmap.c const int asce_type = gmap->asce & _ASCE_TYPE_MASK; asce 793 arch/s390/mm/gmap.c if ((gmap->asce & _ASCE_TYPE_MASK) + 4 < (level * 4)) asce 803 arch/s390/mm/gmap.c switch (gmap->asce & _ASCE_TYPE_MASK) { asce 1272 arch/s390/mm/gmap.c static inline void gmap_idte_one(unsigned long asce, unsigned long vaddr) asce 1276 arch/s390/mm/gmap.c : : "a" (asce), "a" (vaddr) : "cc", "memory"); asce 1526 arch/s390/mm/gmap.c unsigned long asce, *r2t; asce 1531 arch/s390/mm/gmap.c asce = (unsigned long) r1t | _ASCE_TYPE_REGION1; asce 1538 arch/s390/mm/gmap.c gmap_idte_one(asce, raddr); asce 1563 arch/s390/mm/gmap.c table = (unsigned long *)(sg->asce & _ASCE_ORIGIN); asce 1564 arch/s390/mm/gmap.c switch (sg->asce & _ASCE_TYPE_MASK) { asce 1590 arch/s390/mm/gmap.c static struct gmap *gmap_find_shadow(struct gmap *parent, unsigned long asce, asce 1596 arch/s390/mm/gmap.c if (sg->orig_asce != asce || sg->edat_level != edat_level || asce 1619 arch/s390/mm/gmap.c int gmap_shadow_valid(struct gmap *sg, unsigned long asce, int edat_level) asce 1623 arch/s390/mm/gmap.c return sg->orig_asce == asce && sg->edat_level == edat_level; asce 1642 arch/s390/mm/gmap.c struct gmap *gmap_shadow(struct gmap *parent, unsigned long asce, asce 1652 arch/s390/mm/gmap.c sg = gmap_find_shadow(parent, asce, edat_level); asce 1657 arch/s390/mm/gmap.c limit = -1UL >> (33 - (((asce & _ASCE_TYPE_MASK) >> 2) * 11)); asce 1658 arch/s390/mm/gmap.c if (asce & _ASCE_REAL_SPACE) asce 1665 arch/s390/mm/gmap.c new->orig_asce = asce; asce 1670 arch/s390/mm/gmap.c sg = gmap_find_shadow(parent, asce, edat_level); asce 1676 arch/s390/mm/gmap.c if (asce & _ASCE_REAL_SPACE) { asce 1691 arch/s390/mm/gmap.c if (asce & _ASCE_REAL_SPACE) { asce 1700 arch/s390/mm/gmap.c rc = gmap_protect_range(parent, asce & _ASCE_ORIGIN, asce 1701 arch/s390/mm/gmap.c ((asce & _ASCE_TABLE_LENGTH) + 1) * PAGE_SIZE, asce 2293 arch/s390/mm/gmap.c __pmdp_idte(gaddr, (pmd_t *)pmdp, IDTE_GUEST_ASCE, gmap->asce, asce 2375 arch/s390/mm/gmap.c gmap->asce, IDTE_LOCAL); asce 2410 arch/s390/mm/gmap.c gmap->asce, IDTE_GLOBAL); asce 102 arch/s390/mm/init.c init_mm.context.asce = (__pa(init_mm.pgd) & PAGE_MASK) | asce_bits; asce 103 arch/s390/mm/init.c S390_lowcore.kernel_asce = init_mm.context.asce; asce 75 arch/s390/mm/pgalloc.c S390_lowcore.user_asce = mm->context.asce; asce 112 arch/s390/mm/pgalloc.c mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH | asce 120 arch/s390/mm/pgalloc.c mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH | asce 147 arch/s390/mm/pgalloc.c mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH | asce 527 arch/s390/mm/pgalloc.c void base_asce_free(unsigned long asce) asce 529 arch/s390/mm/pgalloc.c unsigned long table = asce & _ASCE_ORIGIN; asce 531 arch/s390/mm/pgalloc.c if (!asce) asce 533 arch/s390/mm/pgalloc.c switch (asce & _ASCE_TYPE_MASK) { asce 581 arch/s390/mm/pgalloc.c unsigned long asce, table, end; asce 592 arch/s390/mm/pgalloc.c asce = table | _ASCE_TYPE_SEGMENT | _ASCE_TABLE_LENGTH; asce 598 arch/s390/mm/pgalloc.c asce = table | _ASCE_TYPE_REGION3 | _ASCE_TABLE_LENGTH; asce 604 arch/s390/mm/pgalloc.c asce = table | _ASCE_TYPE_REGION2 | _ASCE_TABLE_LENGTH; asce 610 arch/s390/mm/pgalloc.c asce = table | _ASCE_TYPE_REGION1 | _ASCE_TABLE_LENGTH; asce 613 arch/s390/mm/pgalloc.c base_asce_free(asce); asce 614 arch/s390/mm/pgalloc.c asce = 0; asce 616 arch/s390/mm/pgalloc.c return asce; asce 32 arch/s390/mm/pgtable.c unsigned long opt, asce; asce 36 arch/s390/mm/pgtable.c asce = READ_ONCE(mm->context.gmap_asce); asce 37 arch/s390/mm/pgtable.c if (asce == 0UL || nodat) asce 39 arch/s390/mm/pgtable.c if (asce != -1UL) { asce 40 arch/s390/mm/pgtable.c asce = asce ? : mm->context.asce; asce 43 arch/s390/mm/pgtable.c __ptep_ipte(addr, ptep, opt, asce, IPTE_LOCAL); asce 52 arch/s390/mm/pgtable.c unsigned long opt, asce; asce 56 arch/s390/mm/pgtable.c asce = READ_ONCE(mm->context.gmap_asce); asce 57 arch/s390/mm/pgtable.c if (asce == 0UL || nodat) asce 59 arch/s390/mm/pgtable.c if (asce != -1UL) { asce 60 arch/s390/mm/pgtable.c asce = asce ? : mm->context.asce; asce 63 arch/s390/mm/pgtable.c __ptep_ipte(addr, ptep, opt, asce, IPTE_GLOBAL); asce 347 arch/s390/mm/pgtable.c mm->context.asce, IDTE_LOCAL); asce 359 arch/s390/mm/pgtable.c mm->context.asce, IDTE_GLOBAL); asce 464 arch/s390/mm/pgtable.c mm->context.asce, IDTE_LOCAL); asce 474 arch/s390/mm/pgtable.c mm->context.asce, IDTE_GLOBAL); asce 59 drivers/s390/char/sclp_diag.h u64 asce; asce 109 drivers/s390/char/sclp_ftp.c sccb->evbuf.mdd.ftp.asce = _ASCE_REAL_SPACE; asce 287 drivers/s390/char/sclp_sd.c unsigned long page, asce = 0; asce 310 drivers/s390/char/sclp_sd.c asce = base_asce_alloc((unsigned long) data, dsize); asce 311 drivers/s390/char/sclp_sd.c if (!asce) { asce 318 drivers/s390/char/sclp_sd.c rc = sclp_sd_sync(page, SD_EQ_STORE_DATA, di, asce, (u64) data, &dsize, asce 334 drivers/s390/char/sclp_sd.c base_asce_free(asce);