Home
last modified time | relevance | path

Searched refs:gmap (Results 1 - 25 of 49) sorted by relevance

12

/kernel/linux/linux-5.10/arch/s390/include/asm/
H A Dgmap.h25 * @list: list head for the mm->context gmap list
31 * @ref_count: reference counter for the gmap structure
33 * @asce: address space control element for gmap page table
37 * @children: list of shadow gmap structures
39 * @shadow_lock: spinlock to protect the shadow gmap list
40 * @parent: pointer to the parent gmap for shadow guest address spaces
46 struct gmap { struct
66 struct gmap *parent;
96 void (*notifier_call)(struct gmap *gmap, unsigne
100 gmap_is_shadow(struct gmap *gmap) gmap_is_shadow() argument
[all...]
H A Duv.h19 #include <asm/gmap.h>
353 int gmap_make_secure(struct gmap *gmap, unsigned long gaddr, void *uvcb);
356 int gmap_convert_to_secure(struct gmap *gmap, unsigned long gaddr);
H A Dkvm_host.h730 struct gmap *gmap; member
731 /* backup location for the currently enabled gmap when scheduled out */
732 struct gmap *enabled_gmap;
934 struct gmap *gmap; member
/kernel/linux/linux-6.6/arch/s390/include/asm/
H A Dgmap.h25 * @list: list head for the mm->context gmap list
31 * @ref_count: reference counter for the gmap structure
33 * @asce: address space control element for gmap page table
37 * @children: list of shadow gmap structures
39 * @shadow_lock: spinlock to protect the shadow gmap list
40 * @parent: pointer to the parent gmap for shadow guest address spaces
46 struct gmap { struct
66 struct gmap *parent;
96 void (*notifier_call)(struct gmap *gmap, unsigne
100 gmap_is_shadow(struct gmap *gmap) gmap_is_shadow() argument
[all...]
H A Duv.h19 #include <asm/gmap.h>
484 int gmap_make_secure(struct gmap *gmap, unsigned long gaddr, void *uvcb);
485 int gmap_destroy_page(struct gmap *gmap, unsigned long gaddr);
489 int gmap_convert_to_secure(struct gmap *gmap, unsigned long gaddr);
H A Dkvm_host.h750 struct gmap *gmap; member
751 /* backup location for the currently enabled gmap when scheduled out */
752 struct gmap *enabled_gmap;
966 struct gmap *gmap; member
/kernel/linux/linux-5.10/arch/s390/mm/
H A Dgmap.c23 #include <asm/gmap.h>
31 * @limit: maximum address of the gmap address space
35 static struct gmap *gmap_alloc(unsigned long limit) in gmap_alloc()
37 struct gmap *gmap; in gmap_alloc() local
59 gmap = kzalloc(sizeof(struct gmap), GFP_KERNEL); in gmap_alloc()
60 if (!gmap) in gmap_alloc()
62 INIT_LIST_HEAD(&gmap->crst_list); in gmap_alloc()
63 INIT_LIST_HEAD(&gmap in gmap_alloc()
99 struct gmap *gmap; gmap_create() local
118 gmap_flush_tlb(struct gmap *gmap) gmap_flush_tlb() argument
183 gmap_free(struct gmap *gmap) gmap_free() argument
215 gmap_get(struct gmap *gmap) gmap_get() argument
228 gmap_put(struct gmap *gmap) gmap_put() argument
239 gmap_remove(struct gmap *gmap) gmap_remove() argument
275 gmap_enable(struct gmap *gmap) gmap_enable() argument
285 gmap_disable(struct gmap *gmap) gmap_disable() argument
305 gmap_alloc_table(struct gmap *gmap, unsigned long *table, unsigned long init, unsigned long gaddr) gmap_alloc_table() argument
356 __gmap_unlink_by_vmaddr(struct gmap *gmap, unsigned long vmaddr) __gmap_unlink_by_vmaddr() argument
379 __gmap_unmap_by_gaddr(struct gmap *gmap, unsigned long gaddr) __gmap_unmap_by_gaddr() argument
396 gmap_unmap_segment(struct gmap *gmap, unsigned long to, unsigned long len) gmap_unmap_segment() argument
427 gmap_map_segment(struct gmap *gmap, unsigned long from, unsigned long to, unsigned long len) gmap_map_segment() argument
474 __gmap_translate(struct gmap *gmap, unsigned long gaddr) __gmap_translate() argument
494 gmap_translate(struct gmap *gmap, unsigned long gaddr) gmap_translate() argument
514 struct gmap *gmap; gmap_unlink() local
540 __gmap_link(struct gmap *gmap, unsigned long gaddr, unsigned long vmaddr) __gmap_link() argument
636 gmap_fault(struct gmap *gmap, unsigned long gaddr, unsigned int fault_flags) gmap_fault() argument
674 __gmap_zap(struct gmap *gmap, unsigned long gaddr) __gmap_zap() argument
695 gmap_discard(struct gmap *gmap, unsigned long from, unsigned long to) gmap_discard() argument
761 gmap_call_notifier(struct gmap *gmap, unsigned long start, unsigned long end) gmap_call_notifier() argument
788 gmap_table_walk(struct gmap *gmap, unsigned long gaddr, int level) gmap_table_walk() argument
850 gmap_pte_op_walk(struct gmap *gmap, unsigned long gaddr, spinlock_t **ptl) gmap_pte_op_walk() argument
874 gmap_pte_op_fixup(struct gmap *gmap, unsigned long gaddr, unsigned long vmaddr, int prot) gmap_pte_op_fixup() argument
910 gmap_pmd_op_walk(struct gmap *gmap, unsigned long gaddr) gmap_pmd_op_walk() argument
940 gmap_pmd_op_end(struct gmap *gmap, pmd_t *pmdp) gmap_pmd_op_end() argument
960 gmap_protect_pmd(struct gmap *gmap, unsigned long gaddr, pmd_t *pmdp, int prot, unsigned long bits) gmap_protect_pmd() argument
1005 gmap_protect_pte(struct gmap *gmap, unsigned long gaddr, pmd_t *pmdp, int prot, unsigned long bits) gmap_protect_pte() argument
1041 gmap_protect_range(struct gmap *gmap, unsigned long gaddr, unsigned long len, int prot, unsigned long bits) gmap_protect_range() argument
1101 gmap_mprotect_notify(struct gmap *gmap, unsigned long gaddr, unsigned long len, int prot) gmap_mprotect_notify() argument
1130 gmap_read_table(struct gmap *gmap, unsigned long gaddr, unsigned long *val) gmap_read_table() argument
2241 struct gmap *gmap, *sg, *next; ptep_notify() local
2270 pmdp_notify_gmap(struct gmap *gmap, pmd_t *pmdp, unsigned long gaddr) pmdp_notify_gmap() argument
2287 gmap_pmdp_xchg(struct gmap *gmap, pmd_t *pmdp, pmd_t new, unsigned long gaddr) gmap_pmdp_xchg() argument
2307 struct gmap *gmap; gmap_pmdp_clear() local
2360 struct gmap *gmap; gmap_pmdp_idte_local() local
2395 struct gmap *gmap; gmap_pmdp_idte_global() local
2433 gmap_test_and_clear_dirty_pmd(struct gmap *gmap, pmd_t *pmdp, unsigned long gaddr) gmap_test_and_clear_dirty_pmd() argument
2460 gmap_sync_dirty_log_pmd(struct gmap *gmap, unsigned long bitmap[4], unsigned long gaddr, unsigned long vmaddr) gmap_sync_dirty_log_pmd() argument
2742 s390_unlist_old_asce(struct gmap *gmap) s390_unlist_old_asce() argument
2778 s390_replace_asce(struct gmap *gmap) s390_replace_asce() argument
[all...]
H A Dfault.c36 #include <asm/gmap.h>
196 asce = ((struct gmap *) S390_lowcore.gmap)->asce; in dump_fault_info()
197 pr_cont("gmap "); in dump_fault_info()
384 struct gmap *gmap; in do_exception() local
438 gmap = NULL; in do_exception()
440 gmap = (struct gmap *) S390_lowcore.gmap; in do_exception()
877 struct gmap *gmap = (struct gmap *)S390_lowcore.gmap; do_non_secure_storage_access() local
[all...]
H A DMakefile12 obj-$(CONFIG_PGSTE) += gmap.o
/kernel/linux/linux-6.6/arch/s390/mm/
H A Dgmap.c23 #include <asm/gmap.h>
42 * @limit: maximum address of the gmap address space
46 static struct gmap *gmap_alloc(unsigned long limit) in gmap_alloc()
48 struct gmap *gmap; in gmap_alloc() local
70 gmap = kzalloc(sizeof(struct gmap), GFP_KERNEL_ACCOUNT); in gmap_alloc()
71 if (!gmap) in gmap_alloc()
73 INIT_LIST_HEAD(&gmap->crst_list); in gmap_alloc()
74 INIT_LIST_HEAD(&gmap in gmap_alloc()
110 struct gmap *gmap; gmap_create() local
129 gmap_flush_tlb(struct gmap *gmap) gmap_flush_tlb() argument
194 gmap_free(struct gmap *gmap) gmap_free() argument
226 gmap_get(struct gmap *gmap) gmap_get() argument
239 gmap_put(struct gmap *gmap) gmap_put() argument
250 gmap_remove(struct gmap *gmap) gmap_remove() argument
286 gmap_enable(struct gmap *gmap) gmap_enable() argument
296 gmap_disable(struct gmap *gmap) gmap_disable() argument
316 gmap_alloc_table(struct gmap *gmap, unsigned long *table, unsigned long init, unsigned long gaddr) gmap_alloc_table() argument
366 __gmap_unlink_by_vmaddr(struct gmap *gmap, unsigned long vmaddr) __gmap_unlink_by_vmaddr() argument
389 __gmap_unmap_by_gaddr(struct gmap *gmap, unsigned long gaddr) __gmap_unmap_by_gaddr() argument
406 gmap_unmap_segment(struct gmap *gmap, unsigned long to, unsigned long len) gmap_unmap_segment() argument
437 gmap_map_segment(struct gmap *gmap, unsigned long from, unsigned long to, unsigned long len) gmap_map_segment() argument
484 __gmap_translate(struct gmap *gmap, unsigned long gaddr) __gmap_translate() argument
504 gmap_translate(struct gmap *gmap, unsigned long gaddr) gmap_translate() argument
524 struct gmap *gmap; gmap_unlink() local
550 __gmap_link(struct gmap *gmap, unsigned long gaddr, unsigned long vmaddr) __gmap_link() argument
646 gmap_fault(struct gmap *gmap, unsigned long gaddr, unsigned int fault_flags) gmap_fault() argument
684 __gmap_zap(struct gmap *gmap, unsigned long gaddr) __gmap_zap() argument
711 gmap_discard(struct gmap *gmap, unsigned long from, unsigned long to) gmap_discard() argument
777 gmap_call_notifier(struct gmap *gmap, unsigned long start, unsigned long end) gmap_call_notifier() argument
804 gmap_table_walk(struct gmap *gmap, unsigned long gaddr, int level) gmap_table_walk() argument
866 gmap_pte_op_walk(struct gmap *gmap, unsigned long gaddr, spinlock_t **ptl) gmap_pte_op_walk() argument
890 gmap_pte_op_fixup(struct gmap *gmap, unsigned long gaddr, unsigned long vmaddr, int prot) gmap_pte_op_fixup() argument
926 gmap_pmd_op_walk(struct gmap *gmap, unsigned long gaddr) gmap_pmd_op_walk() argument
956 gmap_pmd_op_end(struct gmap *gmap, pmd_t *pmdp) gmap_pmd_op_end() argument
976 gmap_protect_pmd(struct gmap *gmap, unsigned long gaddr, pmd_t *pmdp, int prot, unsigned long bits) gmap_protect_pmd() argument
1021 gmap_protect_pte(struct gmap *gmap, unsigned long gaddr, pmd_t *pmdp, int prot, unsigned long bits) gmap_protect_pte() argument
1057 gmap_protect_range(struct gmap *gmap, unsigned long gaddr, unsigned long len, int prot, unsigned long bits) gmap_protect_range() argument
1117 gmap_mprotect_notify(struct gmap *gmap, unsigned long gaddr, unsigned long len, int prot) gmap_mprotect_notify() argument
1146 gmap_read_table(struct gmap *gmap, unsigned long gaddr, unsigned long *val) gmap_read_table() argument
2270 struct gmap *gmap, *sg, *next; ptep_notify() local
2299 pmdp_notify_gmap(struct gmap *gmap, pmd_t *pmdp, unsigned long gaddr) pmdp_notify_gmap() argument
2316 gmap_pmdp_xchg(struct gmap *gmap, pmd_t *pmdp, pmd_t new, unsigned long gaddr) gmap_pmdp_xchg() argument
2336 struct gmap *gmap; gmap_pmdp_clear() local
2389 struct gmap *gmap; gmap_pmdp_idte_local() local
2424 struct gmap *gmap; gmap_pmdp_idte_global() local
2462 gmap_test_and_clear_dirty_pmd(struct gmap *gmap, pmd_t *pmdp, unsigned long gaddr) gmap_test_and_clear_dirty_pmd() argument
2489 gmap_sync_dirty_log_pmd(struct gmap *gmap, unsigned long bitmap[4], unsigned long gaddr, unsigned long vmaddr) gmap_sync_dirty_log_pmd() argument
2820 s390_unlist_old_asce(struct gmap *gmap) s390_unlist_old_asce() argument
2859 s390_replace_asce(struct gmap *gmap) s390_replace_asce() argument
[all...]
H A Dfault.c38 #include <asm/gmap.h>
203 asce = ((struct gmap *) S390_lowcore.gmap)->asce; in dump_fault_info()
204 pr_cont("gmap "); in dump_fault_info()
359 struct gmap *gmap; in do_exception() local
435 gmap = NULL; in do_exception()
437 gmap = (struct gmap *) S390_lowcore.gmap; in do_exception()
591 struct gmap *gmap; do_secure_storage_access() local
670 struct gmap *gmap = (struct gmap *)S390_lowcore.gmap; do_non_secure_storage_access() local
686 struct gmap *gmap = (struct gmap *)S390_lowcore.gmap; do_secure_storage_violation() local
[all...]
H A DMakefile12 obj-$(CONFIG_PGSTE) += gmap.o
/kernel/linux/linux-6.6/arch/s390/kernel/
H A Duv.c274 int gmap_make_secure(struct gmap *gmap, unsigned long gaddr, void *uvcb) in gmap_make_secure() argument
286 mmap_read_lock(gmap->mm); in gmap_make_secure()
288 uaddr = __gmap_translate(gmap, gaddr); in gmap_make_secure()
291 vma = vma_lookup(gmap->mm, uaddr); in gmap_make_secure()
305 ptep = get_locked_pte(gmap->mm, uaddr, &ptelock); in gmap_make_secure()
312 if (should_export_before_import(uvcb, gmap->mm)) in gmap_make_secure()
320 mmap_read_unlock(gmap->mm); in gmap_make_secure()
352 if (gmap_fault(gmap, gaddr, FAULT_FLAG_WRITE)) in gmap_make_secure()
360 int gmap_convert_to_secure(struct gmap *gma argument
382 gmap_destroy_page(struct gmap *gmap, unsigned long gaddr) gmap_destroy_page() argument
[all...]
H A Dasm-offsets.c17 #include <asm/gmap.h>
141 OFFSET(__LC_GMAP, lowcore, gmap); in main()
163 /* gmap/sie offsets */ in main()
164 OFFSET(__GMAP_ASCE, gmap, asce); in main()
/kernel/linux/linux-5.10/arch/s390/kernel/
H A Duv.c219 int gmap_make_secure(struct gmap *gmap, unsigned long gaddr, void *uvcb) in gmap_make_secure() argument
231 mmap_read_lock(gmap->mm); in gmap_make_secure()
233 uaddr = __gmap_translate(gmap, gaddr); in gmap_make_secure()
236 vma = find_vma(gmap->mm, uaddr); in gmap_make_secure()
255 ptep = get_locked_pte(gmap->mm, uaddr, &ptelock); in gmap_make_secure()
260 mmap_read_unlock(gmap->mm); in gmap_make_secure()
288 if (gmap_fault(gmap, gaddr, FAULT_FLAG_WRITE)) in gmap_make_secure()
296 int gmap_convert_to_secure(struct gmap *gmap, unsigne argument
[all...]
H A Dasm-offsets.c17 #include <asm/gmap.h>
149 OFFSET(__LC_GMAP, lowcore, gmap); in main()
173 /* gmap/sie offsets */ in main()
174 OFFSET(__GMAP_ASCE, gmap, asce); in main()
/kernel/linux/linux-5.10/arch/s390/kvm/
H A Dvsie.c16 #include <asm/gmap.h>
37 /* the shadow gmap in use by the vsie_page */
38 struct gmap *gmap; /* 0x0220 */ member
84 /* test if the prefix is mapped into the gmap shadow */
560 void kvm_s390_vsie_gmap_notifier(struct gmap *gmap, unsigned long start, in kvm_s390_vsie_gmap_notifier() argument
563 struct kvm *kvm = gmap->private; in kvm_s390_vsie_gmap_notifier()
569 if (!gmap_is_shadow(gmap)) in kvm_s390_vsie_gmap_notifier()
584 if (READ_ONCE(cur->gmap) ! in kvm_s390_vsie_gmap_notifier()
1183 struct gmap *gmap; acquire_gmap_shadow() local
[all...]
H A Ddiag.c13 #include <asm/gmap.h>
40 gmap_discard(vcpu->arch.gmap, start, end); in diag_release_pages()
48 gmap_discard(vcpu->arch.gmap, start, prefix); in diag_release_pages()
50 gmap_discard(vcpu->arch.gmap, 0, PAGE_SIZE); in diag_release_pages()
52 gmap_discard(vcpu->arch.gmap, PAGE_SIZE, 2 * PAGE_SIZE); in diag_release_pages()
53 gmap_discard(vcpu->arch.gmap, prefix + 2 * PAGE_SIZE, end); in diag_release_pages()
H A Dpv.c12 #include <asm/gmap.h>
162 WRITE_ONCE(kvm->arch.gmap->guest_handle, 0); in kvm_s390_pv_deinit_vm()
171 s390_replace_asce(kvm->arch.gmap); in kvm_s390_pv_deinit_vm()
191 uvcb.guest_asce = kvm->arch.gmap->asce; in kvm_s390_pv_init_vm()
212 kvm->arch.gmap->guest_handle = uvcb.guest_handle; in kvm_s390_pv_init_vm()
248 int ret = gmap_make_secure(kvm->arch.gmap, addr, &uvcb); in unpack_one()
H A Dkvm-s390.c39 #include <asm/gmap.h>
243 static void kvm_gmap_notifier(struct gmap *gmap, unsigned long start,
597 struct gmap *gmap = kvm->arch.gmap; in kvm_arch_sync_dirty_log() local
610 gmap_sync_dirty_log_pmd(gmap, bitmap, gaddr, vmaddr); in kvm_arch_sync_dirty_log()
854 s390_reset_cmma(kvm->arch.gmap->mm); in kvm_s390_set_mem_control()
883 struct gmap *new = gmap_create(current->mm, new_limit); in kvm_s390_set_mem_control()
888 gmap_remove(kvm->arch.gmap); in kvm_s390_set_mem_control()
3390 kvm_gmap_notifier(struct gmap *gmap, unsigned long start, unsigned long end) kvm_gmap_notifier() argument
[all...]
H A Dkvm-s390.h88 if (kvm->arch.gmap) in kvm_is_ucontrol()
319 void kvm_s390_vsie_gmap_notifier(struct gmap *gmap, unsigned long start,
/kernel/linux/linux-6.6/arch/s390/kvm/
H A Dvsie.c16 #include <asm/gmap.h>
38 /* the shadow gmap in use by the vsie_page */
39 struct gmap *gmap; /* 0x0220 */ member
85 /* test if the prefix is mapped into the gmap shadow */
579 void kvm_s390_vsie_gmap_notifier(struct gmap *gmap, unsigned long start, in kvm_s390_vsie_gmap_notifier() argument
582 struct kvm *kvm = gmap->private; in kvm_s390_vsie_gmap_notifier()
588 if (!gmap_is_shadow(gmap)) in kvm_s390_vsie_gmap_notifier()
599 if (READ_ONCE(cur->gmap) ! in kvm_s390_vsie_gmap_notifier()
1200 struct gmap *gmap; acquire_gmap_shadow() local
[all...]
H A Ddiag.c13 #include <asm/gmap.h>
40 gmap_discard(vcpu->arch.gmap, start, end); in diag_release_pages()
48 gmap_discard(vcpu->arch.gmap, start, prefix); in diag_release_pages()
50 gmap_discard(vcpu->arch.gmap, 0, PAGE_SIZE); in diag_release_pages()
52 gmap_discard(vcpu->arch.gmap, PAGE_SIZE, 2 * PAGE_SIZE); in diag_release_pages()
53 gmap_discard(vcpu->arch.gmap, prefix + 2 * PAGE_SIZE, end); in diag_release_pages()
H A Dpv.c13 #include <asm/gmap.h>
40 * @old_gmap_table: the gmap table of the leftover protected VM
285 WRITE_ONCE(kvm->arch.gmap->guest_handle, 0); in kvm_s390_pv_deinit_vm_fast()
334 if ((kvm->arch.gmap->asce & _ASCE_TYPE_MASK) == _ASCE_TYPE_SEGMENT) in kvm_s390_pv_set_aside()
347 priv->old_gmap_table = (unsigned long)kvm->arch.gmap->table; in kvm_s390_pv_set_aside()
348 WRITE_ONCE(kvm->arch.gmap->guest_handle, 0); in kvm_s390_pv_set_aside()
349 if (s390_replace_asce(kvm->arch.gmap)) in kvm_s390_pv_set_aside()
392 WRITE_ONCE(kvm->arch.gmap->guest_handle, 0); in kvm_s390_pv_deinit_vm()
398 s390_replace_asce(kvm->arch.gmap); in kvm_s390_pv_deinit_vm()
574 uvcb.guest_asce = kvm->arch.gmap in kvm_s390_pv_init_vm()
[all...]
H A Dkvm-s390.c39 #include <asm/gmap.h>
267 static void kvm_gmap_notifier(struct gmap *gmap, unsigned long start,
675 struct gmap *gmap = kvm->arch.gmap; in kvm_arch_sync_dirty_log() local
688 gmap_sync_dirty_log_pmd(gmap, bitmap, gaddr, vmaddr); in kvm_arch_sync_dirty_log()
950 s390_reset_cmma(kvm->arch.gmap->mm); in kvm_s390_set_mem_control()
979 struct gmap *new = gmap_create(current->mm, new_limit); in kvm_s390_set_mem_control()
984 gmap_remove(kvm->arch.gmap); in kvm_s390_set_mem_control()
4055 kvm_gmap_notifier(struct gmap *gmap, unsigned long start, unsigned long end) kvm_gmap_notifier() argument
[all...]

Completed in 37 milliseconds

12