/arch/s390/kvm/ |
D | gaccess.c | 19 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 …]
|
D | vsie.c | 916 unsigned long asce; in acquire_gmap_shadow() local 921 asce = vcpu->arch.sie_block->gcr[1]; in acquire_gmap_shadow() 931 if (vsie_page->gmap && gmap_shadow_valid(vsie_page->gmap, asce, edat)) in acquire_gmap_shadow() 936 gmap = gmap_shadow(vcpu->arch.gmap, asce, edat); in acquire_gmap_shadow()
|
D | kvm-s390.c | 740 (void *) kvm->arch.gmap->asce); in kvm_s390_set_mem_control()
|
/arch/s390/include/asm/ |
D | mmu_context.h | 45 mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH | in init_new_context() 50 mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH | in init_new_context() 55 mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH | in init_new_context() 60 mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH | in init_new_context() 73 S390_lowcore.user_asce = mm->context.asce; in set_user_asce() 89 unsigned long asce; in load_kernel_asce() local 91 __ctl_store(asce, 1, 1); in load_kernel_asce() 92 if (asce != S390_lowcore.kernel_asce) in load_kernel_asce() 102 S390_lowcore.user_asce = next->context.asce; in switch_mm()
|
D | tlbflush.h | 22 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()
|
D | gmap.h | 43 unsigned long asce; member 112 struct gmap *gmap_shadow(struct gmap *parent, unsigned long asce, 114 int gmap_shadow_valid(struct gmap *sg, unsigned long asce, int edat_level);
|
D | mmu.h | 16 unsigned long asce; member
|
D | pgtable.h | 553 unsigned long address, unsigned long asce) in crdte() argument 562 : "d" (reg3), "d" (reg4), "d" (reg5), "a" (asce) in crdte() 960 unsigned long opt, unsigned long asce, in __ptep_ipte() argument 975 opt = opt | (asce & _ASCE_ORIGIN); in __ptep_ipte() 1365 unsigned long opt, unsigned long asce, in __pmdp_idte() argument 1385 [r3] "a" (asce), [m4] "i" (local) in __pmdp_idte() 1391 unsigned long opt, unsigned long asce, in __pudp_idte() argument 1412 [r3] "a" (asce), [m4] "i" (local) in __pudp_idte()
|
/arch/s390/mm/ |
D | gmap.c | 76 gmap->asce = atype | _ASCE_TABLE_LENGTH | in gmap_alloc() 106 gmap_asce = gmap->asce; in gmap_create() 118 __tlb_flush_idte(gmap->asce); in gmap_flush_tlb() 257 struct gmap, list)->asce; in gmap_remove() 548 if ((gmap->asce & _ASCE_TYPE_MASK) >= _ASCE_TYPE_REGION1) { in __gmap_link() 556 if ((gmap->asce & _ASCE_TYPE_MASK) >= _ASCE_TYPE_REGION2) { in __gmap_link() 564 if ((gmap->asce & _ASCE_TYPE_MASK) >= _ASCE_TYPE_REGION3) { in __gmap_link() 767 if ((gmap->asce & _ASCE_TYPE_MASK) + 4 < (level * 4)) in gmap_table_walk() 771 if (gaddr & (-1UL << (31 + ((gmap->asce & _ASCE_TYPE_MASK) >> 2)*11))) in gmap_table_walk() 774 switch (gmap->asce & _ASCE_TYPE_MASK) { in gmap_table_walk() [all …]
|
D | pgtable.c | 31 unsigned long opt, asce; in ptep_ipte_local() local 35 asce = READ_ONCE(mm->context.gmap_asce); in ptep_ipte_local() 36 if (asce == 0UL || nodat) in ptep_ipte_local() 38 if (asce != -1UL) { in ptep_ipte_local() 39 asce = asce ? : mm->context.asce; in ptep_ipte_local() 42 __ptep_ipte(addr, ptep, opt, asce, IPTE_LOCAL); in ptep_ipte_local() 51 unsigned long opt, asce; in ptep_ipte_global() local 55 asce = READ_ONCE(mm->context.gmap_asce); in ptep_ipte_global() 56 if (asce == 0UL || nodat) in ptep_ipte_global() 58 if (asce != -1UL) { in ptep_ipte_global() [all …]
|
D | fault.c | 132 static void dump_pagetable(unsigned long asce, unsigned long address) in dump_pagetable() argument 134 unsigned long *table = __va(asce & _ASCE_ORIGIN); in dump_pagetable() 136 pr_alert("AS:%016lx ", asce); in dump_pagetable() 137 switch (asce & _ASCE_TYPE_MASK) { in dump_pagetable() 187 unsigned long asce; in dump_fault_info() local 208 asce = S390_lowcore.kernel_asce; in dump_fault_info() 214 asce = gmap->asce; in dump_fault_info() 219 asce = S390_lowcore.user_asce; in dump_fault_info() 223 dump_pagetable(asce, regs->int_parm_long & __FAIL_ADDR_MASK); in dump_fault_info()
|
D | init.c | 96 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()
|
D | pgalloc.c | 103 mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH | in crst_table_upgrade() 110 mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH | in crst_table_upgrade() 136 mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH | in crst_table_downgrade()
|
/arch/s390/kernel/ |
D | entry.S | 296 lctlg %c1,%c1,__GMAP_ASCE(%r14) # load primary asce 312 lctlg %c1,%c1,__LC_USER_ASCE # load primary asce 471 # _CIF_ASCE_PRIMARY and/or CIF_ASCE_SECONDARY set, load user space asce 475 lctlg %c1,%c1,__LC_USER_ASCE # load primary asce 853 # _CIF_ASCE_PRIMARY and/or CIF_ASCE_SECONDARY set, load user space asce 857 lctlg %c1,%c1,__LC_USER_ASCE # load primary asce 1281 lctlg %c1,%c1,__LC_USER_ASCE # load primary asce
|
D | asm-offsets.c | 199 OFFSET(__GMAP_ASCE, gmap, asce); in main()
|