Home
last modified time | relevance | path

Searched refs:asce (Results 1 - 25 of 41) sorted by relevance

12

/kernel/linux/linux-6.6/arch/s390/kvm/
H A Dgaccess.c20 union asce { union
259 unsigned long asce : 64; /* Address-Space-Control Element */ member
380 static int ar_translation(struct kvm_vcpu *vcpu, union asce *asce, u8 ar, in ar_translation() argument
398 asce->val = vcpu->arch.sie_block->gcr[1]; in ar_translation()
401 asce->val = vcpu->arch.sie_block->gcr[7]; in ar_translation()
465 asce->val = aste.asce; in ar_translation()
572 static int get_vcpu_asce(struct kvm_vcpu *vcpu, union asce *asce, in get_vcpu_asce() argument
632 guest_translate(struct kvm_vcpu *vcpu, unsigned long gva, unsigned long *gpa, const union asce asce, enum gacc_mode mode, enum prot_type *prot) guest_translate() argument
802 low_address_protection_enabled(struct kvm_vcpu *vcpu, const union asce asce) low_address_protection_enabled() argument
844 fetch_prot_override_applicable(struct kvm_vcpu *vcpu, enum gacc_mode mode, union asce asce) fetch_prot_override_applicable() argument
878 vcpu_check_access_key(struct kvm_vcpu *vcpu, u8 access_key, enum gacc_mode mode, union asce asce, gpa_t gpa, unsigned long ga, unsigned int len) vcpu_check_access_key() argument
952 guest_range_to_gpas(struct kvm_vcpu *vcpu, unsigned long ga, u8 ar, unsigned long *gpas, unsigned long len, const union asce asce, enum gacc_mode mode, u8 access_key) guest_range_to_gpas() argument
1076 union asce asce; access_guest_with_key() local
1292 union asce asce; guest_translate_address_with_key() local
1315 union asce asce; check_gva_range() local
1387 union asce asce; kvm_s390_shadow_tables() local
[all...]
/kernel/linux/linux-5.10/arch/s390/kvm/
H A 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
614 guest_translate(struct kvm_vcpu *vcpu, unsigned long gva, unsigned long *gpa, const union asce asce, enum gacc_mode mode, enum prot_type *prot) guest_translate() argument
784 low_address_protection_enabled(struct kvm_vcpu *vcpu, const union asce asce) low_address_protection_enabled() argument
797 guest_page_range(struct kvm_vcpu *vcpu, unsigned long ga, u8 ar, unsigned long *pages, unsigned long nr_pages, const union asce asce, enum gacc_mode mode) guest_page_range() argument
838 union asce asce; access_guest() local
909 union asce asce; guest_translate_address() local
989 union asce asce; kvm_s390_shadow_tables() local
[all...]
/kernel/linux/linux-5.10/arch/s390/mm/
H A Dpgalloc.c75 S390_lowcore.user_asce = mm->context.asce; in __crst_table_upgrade()
128 mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH | in crst_table_upgrade()
137 mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH | in crst_table_upgrade()
521 * base_asce_free - free asce and tables returned from base_asce_alloc()
522 * @asce: asce to be freed
527 void base_asce_free(unsigned long asce) in base_asce_free() argument
529 unsigned long table = asce & _ASCE_ORIGIN; in base_asce_free()
531 if (!asce) in base_asce_free()
533 switch (asce in base_asce_free()
581 unsigned long asce, table, end; base_asce_alloc() local
[all...]
H A 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()
791 const int asce_type = gmap->asce & _ASCE_TYPE_MASK; in gmap_table_walk()
1265 * @asce: region or segment table *origin* + table-type bits
1270 * The table-type of the @asce identifie
1273 gmap_idte_one(unsigned long asce, unsigned long vaddr) gmap_idte_one() argument
1527 unsigned long asce, *r2t; __gmap_unshadow_r1t() local
1591 gmap_find_shadow(struct gmap *parent, unsigned long asce, int edat_level) gmap_find_shadow() argument
1620 gmap_shadow_valid(struct gmap *sg, unsigned long asce, int edat_level) gmap_shadow_valid() argument
1643 gmap_shadow(struct gmap *parent, unsigned long asce, int edat_level) gmap_shadow() argument
2780 unsigned long asce; s390_replace_asce() local
[all...]
H A Dpgtable.c50 unsigned long opt, asce; in ptep_ipte_local() local
54 asce = READ_ONCE(mm->context.gmap_asce); in ptep_ipte_local()
55 if (asce == 0UL || nodat) in ptep_ipte_local()
57 if (asce != -1UL) { in ptep_ipte_local()
58 asce = asce ? : mm->context.asce; in ptep_ipte_local()
61 __ptep_ipte(addr, ptep, opt, asce, IPTE_LOCAL); in ptep_ipte_local()
70 unsigned long opt, asce; in ptep_ipte_global() local
74 asce in ptep_ipte_global()
[all...]
H A Dfault.c111 static void dump_pagetable(unsigned long asce, unsigned long address) in dump_pagetable() argument
113 unsigned long *table = __va(asce & _ASCE_ORIGIN); in dump_pagetable()
115 pr_alert("AS:%016lx ", asce); in dump_pagetable()
116 switch (asce & _ASCE_TYPE_MASK) { in dump_pagetable()
166 unsigned long asce; in dump_fault_info() local
188 asce = S390_lowcore.user_asce; in dump_fault_info()
192 asce = S390_lowcore.vdso_asce; in dump_fault_info()
196 asce = ((struct gmap *) S390_lowcore.gmap)->asce; in dump_fault_info()
200 asce in dump_fault_info()
[all...]
/kernel/linux/linux-5.10/arch/s390/include/asm/
H A Dtlbflush.h20 static inline void __tlb_flush_idte(unsigned long asce) in __tlb_flush_idte() argument
30 : : "a" (opt), "a" (asce) : "cc"); in __tlb_flush_idte()
65 __tlb_flush_idte(mm->context.asce); in __tlb_flush_mm()
77 __tlb_flush_idte(init_mm.context.asce); in __tlb_flush_kernel()
H A Dmmu_context.h66 mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH | in init_new_context()
76 S390_lowcore.user_asce = mm->context.asce; in set_user_asce()
96 S390_lowcore.user_asce = next->context.asce; in switch_mm()
H A Dgmap.h33 * @asce: address space control element for gmap page table
55 unsigned long asce; member
126 struct gmap *gmap_shadow(struct gmap *parent, unsigned long asce,
128 int gmap_shadow_valid(struct gmap *sg, unsigned long asce, int edat_level);
H A Dmmu.h16 unsigned long asce; member
H A Dpgtable.h231 #define _ASCE_TYPE_MASK 0x0c /* asce table type mask */
591 unsigned long address, unsigned long asce) in crdte()
600 : "d" (reg3), "d" (reg4), "d" (reg5), "a" (asce) in crdte()
1007 unsigned long opt, unsigned long asce, in __ptep_ipte()
1022 opt = opt | (asce & _ASCE_ORIGIN); in __ptep_ipte()
1488 unsigned long opt, unsigned long asce, in __pmdp_idte()
1495 /* flush without guest asce */ in __pmdp_idte()
1503 /* flush with guest asce */ in __pmdp_idte()
1508 [r3] "a" (asce), [m4] "i" (local) in __pmdp_idte()
1514 unsigned long opt, unsigned long asce, in __pudp_idte()
589 crdte(unsigned long old, unsigned long new, unsigned long table, unsigned long dtt, unsigned long address, unsigned long asce) crdte() argument
1006 __ptep_ipte(unsigned long address, pte_t *ptep, unsigned long opt, unsigned long asce, int local) __ptep_ipte() argument
1487 __pmdp_idte(unsigned long addr, pmd_t *pmdp, unsigned long opt, unsigned long asce, int local) __pmdp_idte() argument
1513 __pudp_idte(unsigned long addr, pud_t *pudp, unsigned long opt, unsigned long asce, int local) __pudp_idte() argument
[all...]
/kernel/linux/linux-6.6/arch/s390/include/asm/
H A Dtlbflush.h20 static inline void __tlb_flush_idte(unsigned long asce) in __tlb_flush_idte() argument
28 asm volatile("idte 0,%1,%0" : : "a" (opt), "a" (asce) : "cc"); in __tlb_flush_idte()
63 __tlb_flush_idte(mm->context.asce); in __tlb_flush_mm()
75 __tlb_flush_idte(init_mm.context.asce); in __tlb_flush_kernel()
H A Dgmap.h33 * @asce: address space control element for gmap page table
55 unsigned long asce; member
126 struct gmap *gmap_shadow(struct gmap *parent, unsigned long asce,
128 int gmap_shadow_valid(struct gmap *sg, unsigned long asce, int edat_level);
H A Dmmu_context.h67 mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH | in init_new_context()
81 S390_lowcore.user_asce = next->context.asce; in switch_mm_irqs_off()
H A Dmmu.h17 unsigned long asce; member
H A Dpgtable.h238 #define _ASCE_TYPE_MASK 0x0c /* asce table type mask */
613 unsigned long address, unsigned long asce) in crdte()
618 asm volatile(".insn rrf,0xb98f0000,%[r1],%[r2],%[asce],0" in crdte()
620 : [r2] "d" (r2.pair), [asce] "a" (asce) in crdte()
1059 unsigned long opt, unsigned long asce, in __ptep_rdp()
1065 asm volatile(".insn rrf,0xb98b0000,%[r1],%[r2],%[asce],%[m4]" in __ptep_rdp()
1068 [asce] "a" (asce), [m4] "i" (local)); in __ptep_rdp()
1072 unsigned long opt, unsigned long asce, in __ptep_ipte()
611 crdte(unsigned long old, unsigned long new, unsigned long *table, unsigned long dtt, unsigned long address, unsigned long asce) crdte() argument
1058 __ptep_rdp(unsigned long addr, pte_t *ptep, unsigned long opt, unsigned long asce, int local) __ptep_rdp() argument
1071 __ptep_ipte(unsigned long address, pte_t *ptep, unsigned long opt, unsigned long asce, int local) __ptep_ipte() argument
1621 __pmdp_idte(unsigned long addr, pmd_t *pmdp, unsigned long opt, unsigned long asce, int local) __pmdp_idte() argument
1647 __pudp_idte(unsigned long addr, pud_t *pudp, unsigned long opt, unsigned long asce, int local) __pudp_idte() argument
[all...]
/kernel/linux/linux-6.6/arch/s390/mm/
H A Dpgalloc.c65 S390_lowcore.user_asce = mm->context.asce; in __crst_table_upgrade()
109 mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH | in crst_table_upgrade()
118 mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH | in crst_table_upgrade()
661 * base_asce_free - free asce and tables returned from base_asce_alloc()
662 * @asce: asce to be freed
667 void base_asce_free(unsigned long asce) in base_asce_free() argument
669 unsigned long *table = __va(asce & _ASCE_ORIGIN); in base_asce_free()
671 if (!asce) in base_asce_free()
673 switch (asce in base_asce_free()
721 unsigned long asce, *table, end; base_asce_alloc() local
[all...]
H A Dfault.c122 static void dump_pagetable(unsigned long asce, unsigned long address) in dump_pagetable() argument
124 unsigned long *table = __va(asce & _ASCE_ORIGIN); in dump_pagetable()
126 pr_alert("AS:%016lx ", asce); in dump_pagetable()
127 switch (asce & _ASCE_TYPE_MASK) { in dump_pagetable()
177 unsigned long asce; in dump_fault_info() local
199 asce = S390_lowcore.user_asce; in dump_fault_info()
203 asce = ((struct gmap *) S390_lowcore.gmap)->asce; in dump_fault_info()
207 asce = S390_lowcore.kernel_asce; in dump_fault_info()
214 dump_pagetable(asce, reg in dump_fault_info()
[all...]
H A Dgmap.c90 gmap->asce = atype | _ASCE_TABLE_LENGTH | in gmap_alloc()
120 gmap_asce = gmap->asce; in gmap_create()
132 __tlb_flush_idte(gmap->asce); in gmap_flush_tlb()
271 struct gmap, list)->asce; in gmap_remove()
565 if ((gmap->asce & _ASCE_TYPE_MASK) >= _ASCE_TYPE_REGION1) { in __gmap_link()
573 if ((gmap->asce & _ASCE_TYPE_MASK) >= _ASCE_TYPE_REGION2) { in __gmap_link()
581 if ((gmap->asce & _ASCE_TYPE_MASK) >= _ASCE_TYPE_REGION3) { in __gmap_link()
807 const int asce_type = gmap->asce & _ASCE_TYPE_MASK; in gmap_table_walk()
1288 * @asce: region or segment table *origin* + table-type bits
1293 * The table-type of the @asce identifie
1296 gmap_idte_one(unsigned long asce, unsigned long vaddr) gmap_idte_one() argument
1554 unsigned long asce; __gmap_unshadow_r1t() local
1619 gmap_find_shadow(struct gmap *parent, unsigned long asce, int edat_level) gmap_find_shadow() argument
1648 gmap_shadow_valid(struct gmap *sg, unsigned long asce, int edat_level) gmap_shadow_valid() argument
1671 gmap_shadow(struct gmap *parent, unsigned long asce, int edat_level) gmap_shadow() argument
2861 unsigned long asce; s390_replace_asce() local
[all...]
H A Dpgtable.c50 unsigned long opt, asce; in ptep_ipte_local() local
54 asce = READ_ONCE(mm->context.gmap_asce); in ptep_ipte_local()
55 if (asce == 0UL || nodat) in ptep_ipte_local()
57 if (asce != -1UL) { in ptep_ipte_local()
58 asce = asce ? : mm->context.asce; in ptep_ipte_local()
61 __ptep_ipte(addr, ptep, opt, asce, IPTE_LOCAL); in ptep_ipte_local()
70 unsigned long opt, asce; in ptep_ipte_global() local
74 asce in ptep_ipte_global()
[all...]
/kernel/linux/linux-5.10/arch/s390/lib/
H A Duaccess.c66 unsigned long asce, cr; in enable_sacf_uaccess() local
75 asce = S390_lowcore.kernel_asce; in enable_sacf_uaccess()
82 asce = S390_lowcore.user_asce; in enable_sacf_uaccess()
85 if (cr != asce) { in enable_sacf_uaccess()
86 __ctl_load(asce, 7, 7); in enable_sacf_uaccess()
/kernel/linux/linux-5.10/drivers/s390/char/
H A 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()
327 asce = 0; in sclp_sd_store_data()
340 base_asce_free(asce); in sclp_sd_store_data()
H A Dsclp_diag.h44 * @asce: region or segment table designation
59 u64 asce; member
/kernel/linux/linux-6.6/drivers/s390/char/
H A Dsclp_sd.c288 unsigned long page, asce = 0; in sclp_sd_store_data() local
311 asce = base_asce_alloc((unsigned long) data, dsize); in sclp_sd_store_data()
312 if (!asce) { in sclp_sd_store_data()
319 rc = sclp_sd_sync(page, SD_EQ_STORE_DATA, di, asce, (u64) data, &dsize, in sclp_sd_store_data()
335 base_asce_free(asce); in sclp_sd_store_data()
H A Dsclp_diag.h44 * @asce: region or segment table designation
59 u64 asce; member

Completed in 24 milliseconds

12