Home
last modified time | relevance | path

Searched refs:asce (Results 1 – 21 of 21) sorted by relevance

/Linux-v4.19/arch/s390/kvm/
Dgaccess.c19 union asce { union
258 unsigned long asce : 64; /* Address-Space-Control Element */ member
379 static int ar_translation(struct kvm_vcpu *vcpu, union asce *asce, u8 ar, in ar_translation() argument
397 asce->val = vcpu->arch.sie_block->gcr[1]; in ar_translation()
400 asce->val = vcpu->arch.sie_block->gcr[7]; in ar_translation()
464 asce->val = aste.asce; in ar_translation()
554 static int get_vcpu_asce(struct kvm_vcpu *vcpu, union asce *asce, in get_vcpu_asce() argument
561 asce->val = 0; in get_vcpu_asce()
562 asce->r = 1; in get_vcpu_asce()
571 asce->val = vcpu->arch.sie_block->gcr[1]; in get_vcpu_asce()
[all …]
Dvsie.c913 unsigned long asce; in acquire_gmap_shadow() local
918 asce = vcpu->arch.sie_block->gcr[1]; in acquire_gmap_shadow()
928 if (vsie_page->gmap && gmap_shadow_valid(vsie_page->gmap, asce, edat)) in acquire_gmap_shadow()
933 gmap = gmap_shadow(vcpu->arch.gmap, asce, edat); in acquire_gmap_shadow()
Dkvm-s390.c828 (void *) kvm->arch.gmap->asce); in kvm_s390_set_mem_control()
/Linux-v4.19/arch/s390/include/asm/
Dmmu_context.h46 mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH | in init_new_context()
53 mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH | in init_new_context()
58 mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH | in init_new_context()
63 mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH | in init_new_context()
77 S390_lowcore.user_asce = mm->context.asce; in set_user_asce()
99 S390_lowcore.user_asce = next->context.asce; in switch_mm()
Dtlbflush.h22 static inline void __tlb_flush_idte(unsigned long asce) in __tlb_flush_idte() argument
32 : : "a" (opt), "a" (asce) : "cc"); in __tlb_flush_idte()
70 __tlb_flush_idte(mm->context.asce); in __tlb_flush_mm()
82 __tlb_flush_idte(init_mm.context.asce); in __tlb_flush_kernel()
Dgmap.h51 unsigned long asce; member
120 struct gmap *gmap_shadow(struct gmap *parent, unsigned long asce,
122 int gmap_shadow_valid(struct gmap *sg, unsigned long asce, int edat_level);
Dmmu.h16 unsigned long asce; member
Dpgtable.h554 unsigned long address, unsigned long asce) in crdte() argument
563 : "d" (reg3), "d" (reg4), "d" (reg5), "a" (asce) in crdte()
961 unsigned long opt, unsigned long asce, in __ptep_ipte() argument
976 opt = opt | (asce & _ASCE_ORIGIN); in __ptep_ipte()
1371 unsigned long opt, unsigned long asce, in __pmdp_idte() argument
1391 [r3] "a" (asce), [m4] "i" (local) in __pmdp_idte()
1397 unsigned long opt, unsigned long asce, in __pudp_idte() argument
1418 [r3] "a" (asce), [m4] "i" (local) in __pudp_idte()
Dpgalloc.h155 void base_asce_free(unsigned long asce);
/Linux-v4.19/arch/s390/mm/
Dpgalloc.c102 mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH | in crst_table_upgrade()
109 mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH | in crst_table_upgrade()
135 mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH | in crst_table_downgrade()
576 void base_asce_free(unsigned long asce) in base_asce_free() argument
578 unsigned long table = asce & _ASCE_ORIGIN; in base_asce_free()
580 if (!asce) in base_asce_free()
582 switch (asce & _ASCE_TYPE_MASK) { in base_asce_free()
630 unsigned long asce, table, end; in base_asce_alloc() local
641 asce = table | _ASCE_TYPE_SEGMENT | _ASCE_TABLE_LENGTH; in base_asce_alloc()
647 asce = table | _ASCE_TYPE_REGION3 | _ASCE_TABLE_LENGTH; in base_asce_alloc()
[all …]
Dpgtable.c32 unsigned long opt, asce; in ptep_ipte_local() local
36 asce = READ_ONCE(mm->context.gmap_asce); in ptep_ipte_local()
37 if (asce == 0UL || nodat) in ptep_ipte_local()
39 if (asce != -1UL) { in ptep_ipte_local()
40 asce = asce ? : mm->context.asce; in ptep_ipte_local()
43 __ptep_ipte(addr, ptep, opt, asce, IPTE_LOCAL); in ptep_ipte_local()
52 unsigned long opt, asce; in ptep_ipte_global() local
56 asce = READ_ONCE(mm->context.gmap_asce); in ptep_ipte_global()
57 if (asce == 0UL || nodat) in ptep_ipte_global()
59 if (asce != -1UL) { in ptep_ipte_global()
[all …]
Dfault.c146 static void dump_pagetable(unsigned long asce, unsigned long address) in dump_pagetable() argument
148 unsigned long *table = __va(asce & _ASCE_ORIGIN); in dump_pagetable()
150 pr_alert("AS:%016lx ", asce); in dump_pagetable()
151 switch (asce & _ASCE_TYPE_MASK) { in dump_pagetable()
201 unsigned long asce; in dump_fault_info() local
223 asce = S390_lowcore.user_asce; in dump_fault_info()
227 asce = S390_lowcore.vdso_asce; in dump_fault_info()
231 asce = ((struct gmap *) S390_lowcore.gmap)->asce; in dump_fault_info()
235 asce = S390_lowcore.kernel_asce; in dump_fault_info()
240 dump_pagetable(asce, regs->int_parm_long & __FAIL_ADDR_MASK); in dump_fault_info()
Dgmap.c79 gmap->asce = atype | _ASCE_TABLE_LENGTH | in gmap_alloc()
109 gmap_asce = gmap->asce; in gmap_create()
121 __tlb_flush_idte(gmap->asce); in gmap_flush_tlb()
260 struct gmap, list)->asce; in gmap_remove()
555 if ((gmap->asce & _ASCE_TYPE_MASK) >= _ASCE_TYPE_REGION1) { in __gmap_link()
563 if ((gmap->asce & _ASCE_TYPE_MASK) >= _ASCE_TYPE_REGION2) { in __gmap_link()
571 if ((gmap->asce & _ASCE_TYPE_MASK) >= _ASCE_TYPE_REGION3) { in __gmap_link()
792 if ((gmap->asce & _ASCE_TYPE_MASK) + 4 < (level * 4)) in gmap_table_walk()
796 if (gaddr & (-1UL << (31 + ((gmap->asce & _ASCE_TYPE_MASK) >> 2)*11))) in gmap_table_walk()
799 switch (gmap->asce & _ASCE_TYPE_MASK) { in gmap_table_walk()
[all …]
Dinit.c96 init_mm.context.asce = (__pa(init_mm.pgd) & PAGE_MASK) | asce_bits; in paging_init()
97 S390_lowcore.kernel_asce = init_mm.context.asce; in paging_init()
/Linux-v4.19/arch/s390/lib/
Duaccess.c66 unsigned long asce, cr; in enable_sacf_uaccess() local
72 asce = S390_lowcore.kernel_asce; in enable_sacf_uaccess()
79 asce = S390_lowcore.user_asce; in enable_sacf_uaccess()
82 if (cr != asce) { in enable_sacf_uaccess()
83 __ctl_load(asce, 7, 7); in enable_sacf_uaccess()
/Linux-v4.19/drivers/s390/char/
Dsclp_sd.c287 unsigned long page, asce = 0; in sclp_sd_store_data() local
310 asce = base_asce_alloc((unsigned long) data, dsize); in sclp_sd_store_data()
311 if (!asce) { in sclp_sd_store_data()
318 rc = sclp_sd_sync(page, SD_EQ_STORE_DATA, di, asce, (u64) data, &dsize, in sclp_sd_store_data()
334 base_asce_free(asce); in sclp_sd_store_data()
Dsclp_diag.h59 u64 asce; member
Dsclp_ftp.c109 sccb->evbuf.mdd.ftp.asce = _ASCE_REAL_SPACE; in sclp_ftp_et7()
/Linux-v4.19/arch/s390/kernel/
Dentry.S255 lctlg %c1,%c1,__GMAP_ASCE(%r14) # load primary asce
271 lctlg %c1,%c1,__LC_USER_ASCE # load primary asce
434 # _CIF_ASCE_PRIMARY and/or _CIF_ASCE_SECONDARY set, load user space asce
438 lctlg %c7,%c7,__LC_VDSO_ASCE # load secondary asce
445 lctlg %c1,%c1,__LC_USER_ASCE # load primary asce
827 # _CIF_ASCE_PRIMARY and/or CIF_ASCE_SECONDARY set, load user space asce
831 lctlg %c7,%c7,__LC_VDSO_ASCE # load secondary asce
838 lctlg %c1,%c1,__LC_USER_ASCE # load primary asce
1306 lctlg %c1,%c1,__LC_USER_ASCE # load primary asce
Dasm-offsets.c198 OFFSET(__GMAP_ASCE, gmap, asce); in main()
/Linux-v4.19/Documentation/s390/
DDebugging390.txt278 - cr1 contains the user asce
279 - cr7 contains the user asce
280 - cr13 contains the kernel asce
284 - cr1 contains the user or kernel asce
285 -> the kernel asce is loaded when a uaccess requires primary or
287 - cr7 contains the user or kernel asce, (changed with set_fs())
288 - cr13 contains the kernel asce
299 to contain the gmap asce before the SIE instruction gets executed. When
301 user asce.