Home
last modified time | relevance | path

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

/arch/s390/kvm/
A Dgmap-vsie.c44 if (!gmap_shadow_valid(sg, asce, edat_level)) in gmap_find_shadow()
69 struct gmap *gmap_shadow(struct gmap *parent, unsigned long asce, int edat_level) in gmap_shadow() argument
79 sg = gmap_find_shadow(parent, asce, edat_level); in gmap_shadow()
84 limit = -1UL >> (33 - (((asce & _ASCE_TYPE_MASK) >> 2) * 11)); in gmap_shadow()
85 if (asce & _ASCE_REAL_SPACE) in gmap_shadow()
93 new->orig_asce = asce; in gmap_shadow()
98 sg = gmap_find_shadow(parent, asce, edat_level); in gmap_shadow()
104 if (asce & _ASCE_REAL_SPACE) { in gmap_shadow()
119 if (asce & _ASCE_REAL_SPACE) { in gmap_shadow()
128 rc = __kvm_s390_mprotect_many(parent, asce & _ASCE_ORIGIN, in gmap_shadow()
[all …]
A Dgaccess.c311 asce->val = aste.asce; in ar_translation()
462 unsigned long *gpa, const union asce asce, in guest_translate() argument
478 if (asce.r) in guest_translate()
632 const union asce asce) in low_address_protection_enabled() argument
674 union asce asce) in fetch_prot_override_applicable() argument
708 enum gacc_mode mode, union asce asce, gpa_t gpa, in vcpu_check_access_key() argument
783 const union asce asce, enum gacc_mode mode, in guest_range_to_gpas() argument
907 union asce asce; in access_guest_with_key() local
1125 union asce asce; in guest_translate_address_with_key() local
1148 union asce asce; in check_gva_range() local
[all …]
A Dvsie.c81 int gmap_shadow_valid(struct gmap *sg, unsigned long asce, int edat_level) in gmap_shadow_valid() argument
85 return sg->orig_asce == asce && sg->edat_level == edat_level; in gmap_shadow_valid()
1185 rc = kvm_s390_enter_exit_sie(scb_s, vcpu->run->s.regs.gprs, vsie_page->gmap->asce); in do_vsie_run()
1242 unsigned long asce; in acquire_gmap_shadow() local
1247 asce = vcpu->arch.sie_block->gcr[1]; in acquire_gmap_shadow()
1257 if (vsie_page->gmap && gmap_shadow_valid(vsie_page->gmap, asce, edat)) { in acquire_gmap_shadow()
1264 gmap = gmap_shadow(vcpu->arch.gmap, asce, edat); in acquire_gmap_shadow()
A Dkvm-s390.h439 int gmap_shadow_valid(struct gmap *sg, unsigned long asce, int edat_level);
442 struct gmap *gmap_shadow(struct gmap *parent, unsigned long asce, int edat_level);
A Dpv.c394 if ((kvm->arch.gmap->asce & _ASCE_TYPE_MASK) == _ASCE_TYPE_SEGMENT) in kvm_s390_pv_set_aside()
634 uvcb.guest_asce = kvm->arch.gmap->asce; in kvm_s390_pv_init_vm()
A Dkvm-s390.c1027 (void *) kvm->arch.gmap->asce); in kvm_s390_set_mem_control()
5125 vcpu->arch.gmap->asce); in __vcpu_run()
/arch/s390/mm/
A Dpgalloc.c39 struct ctlreg asce; in __crst_table_upgrade() local
43 asce.val = mm->context.asce; in __crst_table_upgrade()
44 get_lowcore()->user_asce = asce; in __crst_table_upgrade()
45 local_ctl_load(7, &asce); in __crst_table_upgrade()
47 local_ctl_load(1, &asce); in __crst_table_upgrade()
386 if (!asce) in base_asce_free()
388 switch (asce & _ASCE_TYPE_MASK) { in base_asce_free()
436 unsigned long asce, *table, end; in base_asce_alloc() local
468 base_asce_free(asce); in base_asce_alloc()
469 asce = 0; in base_asce_alloc()
[all …]
A Dfault.c78 static void dump_pagetable(unsigned long asce, unsigned long address) in dump_pagetable() argument
80 unsigned long entry, *table = __va(asce & _ASCE_ORIGIN); in dump_pagetable()
82 pr_alert("AS:%016lx ", asce); in dump_pagetable()
83 switch (asce & _ASCE_TYPE_MASK) { in dump_pagetable()
134 unsigned long asce; in dump_fault_info() local
155 asce = get_lowcore()->kernel_asce.val; in dump_fault_info()
158 asce = get_lowcore()->user_asce.val; in dump_fault_info()
162 dump_pagetable(asce, get_fault_address(regs)); in dump_fault_info()
A Dpgtable.c42 unsigned long opt, asce; in ptep_ipte_local() local
46 asce = READ_ONCE(mm->context.gmap_asce); in ptep_ipte_local()
47 if (asce == 0UL || nodat) in ptep_ipte_local()
49 if (asce != -1UL) { in ptep_ipte_local()
50 asce = asce ? : mm->context.asce; in ptep_ipte_local()
62 unsigned long opt, asce; in ptep_ipte_global() local
67 if (asce == 0UL || nodat) in ptep_ipte_global()
69 if (asce != -1UL) { in ptep_ipte_global()
70 asce = asce ? : mm->context.asce; in ptep_ipte_global()
371 mm->context.asce, IDTE_LOCAL); in pmdp_idte_local()
[all …]
A Dgmap.c99 gmap->asce = atype | _ASCE_TABLE_LENGTH | in gmap_alloc()
130 gmap_asce = gmap->asce; in gmap_create()
142 __tlb_flush_idte(gmap->asce); in gmap_flush_tlb()
298 struct gmap, list)->asce; in gmap_remove()
1396 unsigned long asce; in __gmap_unshadow_r1t() local
1409 gmap_idte_one(asce, raddr); in __gmap_unshadow_r1t()
2068 gmap->asce, IDTE_LOCAL); in gmap_pmdp_idte_local()
2101 gmap->asce, IDTE_GLOBAL); in gmap_pmdp_idte_global()
2431 unsigned long asce; in s390_replace_asce() local
2446 asce = (gmap->asce & ~_ASCE_ORIGIN) | __pa(table); in s390_replace_asce()
[all …]
/arch/s390/include/asm/
A Dtlbflush.h22 static inline void __tlb_flush_idte(unsigned long asce) in __tlb_flush_idte() argument
30 asm volatile("idte 0,%1,%0" : : "a" (opt), "a" (asce) : "cc"); in __tlb_flush_idte()
60 __tlb_flush_idte(mm->context.asce); in __tlb_flush_mm()
72 __tlb_flush_idte(init_mm.context.asce); in __tlb_flush_kernel()
A Dmmu_context.h65 mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH | in init_new_context()
79 get_lowcore()->user_asce.val = next->context.asce; in switch_mm_irqs_off()
A Dmmu.h16 unsigned long asce; member
A Ddat-bits.h12 union asce { union
A Dpgtable.h703 unsigned long address, unsigned long asce) in crdte() argument
710 : [r2] "d" (r2.pair), [asce] "a" (asce) in crdte()
1158 unsigned long opt, unsigned long asce, in __ptep_rdp() argument
1167 [asce] "a" (asce), [m4] "i" (local)); in __ptep_rdp()
1171 unsigned long opt, unsigned long asce, in __ptep_ipte() argument
1186 opt = opt | (asce & _ASCE_ORIGIN); in __ptep_ipte()
1709 unsigned long opt, unsigned long asce, in __pmdp_idte() argument
1729 [r3] "a" (asce), [m4] "i" (local) in __pmdp_idte()
1735 unsigned long opt, unsigned long asce, in __pudp_idte() argument
1756 [r3] "a" (asce), [m4] "i" (local) in __pudp_idte()
A Dgmap.h52 unsigned long asce; member
A Dpgalloc.h173 void base_asce_free(unsigned long asce);
/arch/s390/kernel/
A Dentry.S119 lctlg %c1,%c1,__LC_USER_ASCE(\lowcore) # load primary asce
187 stg %r5,__SF_SIE_GUEST_ASCE(%r15) # save guest asce
192 lctlg %c1,%c1,__SF_SIE_GUEST_ASCE(%r15) # load primary asce
211 lctlg %c1,%c1,__LC_USER_ASCE(%r14) # load primary asce
/arch/s390/boot/
A Dvmem.c564 init_mm.context.asce = get_lowcore()->kernel_asce.val; in setup_vmem()

Completed in 63 milliseconds