| /linux-6.15/arch/s390/include/asm/ |
| H A D | gmap.h | 44 struct gmap { struct 62 struct gmap *parent; argument 92 void (*notifier_call)(struct gmap *gmap, unsigned long start, 96 static inline int gmap_is_shadow(struct gmap *gmap) in gmap_is_shadow() argument 98 return !!gmap->parent; in gmap_is_shadow() 102 void gmap_remove(struct gmap *gmap); 103 struct gmap *gmap_get(struct gmap *gmap); 104 void gmap_put(struct gmap *gmap); 105 void gmap_free(struct gmap *gmap); 108 int gmap_map_segment(struct gmap *gmap, unsigned long from, [all …]
|
| H A D | kvm_host.h | 423 struct gmap *gmap; member 641 struct gmap *gmap; member
|
| /linux-6.15/arch/s390/mm/ |
| H A D | gmap.c | 60 struct gmap *gmap; in gmap_alloc() local 119 struct gmap *gmap; in gmap_create() local 224 void gmap_free(struct gmap *gmap) in gmap_free() argument 252 struct gmap *gmap_get(struct gmap *gmap) in gmap_get() argument 265 void gmap_put(struct gmap *gmap) in gmap_put() argument 276 void gmap_remove(struct gmap *gmap) in gmap_remove() argument 502 struct gmap *gmap; in gmap_unlink() local 1981 struct gmap *gmap, *sg, *next; in ptep_notify() local 2044 struct gmap *gmap; in gmap_pmdp_clear() local 2096 struct gmap *gmap; in gmap_pmdp_idte_local() local [all …]
|
| H A D | Makefile | 13 obj-$(CONFIG_PGSTE) += gmap.o
|
| /linux-6.15/arch/s390/kvm/ |
| H A D | gmap.c | 34 int gmap_make_secure(struct gmap *gmap, unsigned long gaddr, void *uvcb) in gmap_make_secure() argument 36 struct kvm *kvm = gmap->private; in gmap_make_secure() 44 return make_hva_secure(gmap->mm, vmaddr, uvcb); in gmap_make_secure() 47 int gmap_convert_to_secure(struct gmap *gmap, unsigned long gaddr) in gmap_convert_to_secure() argument 52 .guest_handle = gmap->guest_handle, in gmap_convert_to_secure() 56 return gmap_make_secure(gmap, gaddr, &uvcb); in gmap_convert_to_secure() 70 static int __gmap_destroy_page(struct gmap *gmap, struct page *page) in __gmap_destroy_page() argument 109 int gmap_destroy_page(struct gmap *gmap, unsigned long gaddr) in gmap_destroy_page() argument 114 mmap_read_lock(gmap->mm); in gmap_destroy_page() 117 rc = __gmap_destroy_page(gmap, page); in gmap_destroy_page() [all …]
|
| H A D | gmap.h | 15 int gmap_make_secure(struct gmap *gmap, unsigned long gaddr, void *uvcb); 16 int gmap_convert_to_secure(struct gmap *gmap, unsigned long gaddr); 17 int gmap_destroy_page(struct gmap *gmap, unsigned long gaddr); 18 struct gmap *gmap_shadow(struct gmap *parent, unsigned long asce, int edat_level); 32 static inline int gmap_shadow_valid(struct gmap *sg, unsigned long asce, int edat_level) in gmap_shadow_valid()
|
| H A D | gmap-vsie.c | 39 static struct gmap *gmap_find_shadow(struct gmap *parent, unsigned long asce, int edat_level) in gmap_find_shadow() 41 struct gmap *sg; in gmap_find_shadow() 70 struct gmap *gmap_shadow(struct gmap *parent, unsigned long asce, int edat_level) in gmap_shadow() 72 struct gmap *sg, *new; in gmap_shadow()
|
| H A D | vsie.c | 46 struct gmap *gmap; /* 0x0220 */ member 598 void kvm_s390_vsie_gmap_notifier(struct gmap *gmap, unsigned long start, in kvm_s390_vsie_gmap_notifier() argument 606 if (!gmap_is_shadow(gmap)) in kvm_s390_vsie_gmap_notifier() 616 if (READ_ONCE(cur->gmap) != gmap) in kvm_s390_vsie_gmap_notifier() 1219 if (vsie_page->gmap) in release_gmap_shadow() 1230 struct gmap *gmap; in acquire_gmap_shadow() local 1243 if (vsie_page->gmap && gmap_shadow_valid(vsie_page->gmap, asce, edat)) { in acquire_gmap_shadow() 1250 gmap = gmap_shadow(vcpu->arch.gmap, asce, edat); in acquire_gmap_shadow() 1251 if (IS_ERR(gmap)) in acquire_gmap_shadow() 1252 return PTR_ERR(gmap); in acquire_gmap_shadow() [all …]
|
| H A D | Makefile | 11 kvm-y += diag.o gaccess.o guestdbg.o vsie.o pv.o gmap.o gmap-vsie.o
|
| H A D | diag.c | 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 D | pv.c | 286 WRITE_ONCE(kvm->arch.gmap->guest_handle, 0); in kvm_s390_pv_deinit_vm_fast() 335 if ((kvm->arch.gmap->asce & _ASCE_TYPE_MASK) == _ASCE_TYPE_SEGMENT) in kvm_s390_pv_set_aside() 348 priv->old_gmap_table = (unsigned long)kvm->arch.gmap->table; in kvm_s390_pv_set_aside() 349 WRITE_ONCE(kvm->arch.gmap->guest_handle, 0); in kvm_s390_pv_set_aside() 350 if (s390_replace_asce(kvm->arch.gmap)) in kvm_s390_pv_set_aside() 393 WRITE_ONCE(kvm->arch.gmap->guest_handle, 0); in kvm_s390_pv_deinit_vm() 399 s390_replace_asce(kvm->arch.gmap); in kvm_s390_pv_deinit_vm() 575 uvcb.guest_asce = kvm->arch.gmap->asce; in kvm_s390_pv_init_vm() 602 kvm->arch.gmap->guest_handle = uvcb.guest_handle; in kvm_s390_pv_init_vm() 641 int ret = gmap_make_secure(kvm->arch.gmap, addr, &uvcb); in unpack_one() [all …]
|
| H A D | kvm-s390.c | 272 static void kvm_gmap_notifier(struct gmap *gmap, unsigned long start, 700 struct gmap *gmap = kvm->arch.gmap; in kvm_arch_sync_dirty_log() local 1019 kvm->arch.gmap = new; in kvm_s390_set_mem_control() 3442 kvm->arch.gmap = NULL; in kvm_arch_init_vm() 3455 if (!kvm->arch.gmap) in kvm_arch_init_vm() 3528 gmap_remove(kvm->arch.gmap); in kvm_arch_destroy_vm() 3539 if (!vcpu->arch.gmap) in __kvm_ucontrol_vcpu_init() 3791 vcpu->arch.gmap = vcpu->kvm->arch.gmap; in kvm_arch_vcpu_postcreate() 4107 static void kvm_gmap_notifier(struct gmap *gmap, unsigned long start, in kvm_gmap_notifier() argument 4117 if (gmap_is_shadow(gmap)) in kvm_gmap_notifier() [all …]
|
| H A D | kvm-s390.h | 109 if (kvm->arch.gmap) in kvm_is_ucontrol() 397 void kvm_s390_vsie_gmap_notifier(struct gmap *gmap, unsigned long start, 423 int __kvm_s390_mprotect_many(struct gmap *gmap, gpa_t gpa, u8 npages, unsigned int prot,
|
| H A D | intercept.c | 548 rc = gmap_make_secure(vcpu->arch.gmap, uvcb.gaddr, &uvcb); in handle_pv_uvc() 656 gmap_convert_to_secure(vcpu->arch.gmap, in kvm_handle_sie_intercept() 658 gmap_convert_to_secure(vcpu->arch.gmap, in kvm_handle_sie_intercept()
|
| H A D | priv.c | 1254 struct gmap *gmap; in handle_essa() local 1258 gmap = vcpu->arch.gmap; in handle_essa() 1314 mmap_read_lock(gmap->mm); in handle_essa() 1316 __gmap_zap(gmap, cbrlo[i]); in handle_essa() 1317 mmap_read_unlock(gmap->mm); in handle_essa()
|
| H A D | gaccess.h | 457 int kvm_s390_shadow_fault(struct kvm_vcpu *vcpu, struct gmap *shadow,
|
| H A D | gaccess.c | 1213 static int kvm_s390_shadow_tables(struct gmap *sg, unsigned long saddr, in kvm_s390_shadow_tables() 1218 struct gmap *parent; in kvm_s390_shadow_tables() 1409 static int shadow_pgt_lookup(struct gmap *sg, unsigned long saddr, unsigned long *pgt, in shadow_pgt_lookup() 1448 int kvm_s390_shadow_fault(struct kvm_vcpu *vcpu, struct gmap *sg, in kvm_s390_shadow_fault()
|
| H A D | interrupt.c | 2683 dev->kvm->arch.gmap->pfault_enabled = 1; in flic_set_attr() 2688 dev->kvm->arch.gmap->pfault_enabled = 0; in flic_set_attr()
|
| /linux-6.15/include/video/ |
| H A D | gbe.h | 60 volatile uint32_t gmap[256]; /* gamma map */ member
|
| /linux-6.15/drivers/net/dsa/ |
| H A D | lantiq_gswip.c | 300 u8 gmap; member 585 tbl->gmap = (crtl & GSWIP_PCE_TBL_CTRL_GMAP_MASK) >> 7; in gswip_pce_table_entry_read() 636 crtl |= (tbl->gmap << 7) & GSWIP_PCE_TBL_CTRL_GMAP_MASK; in gswip_pce_table_entry_write()
|
| /linux-6.15/drivers/video/fbdev/ |
| H A D | gbefb.c | 805 gbe->gmap[i] = (i << 24) | (i << 16) | (i << 8); in gbefb_set_par()
|
| /linux-6.15/ |
| H A D | MAINTAINERS | 13110 F: arch/s390/include/asm/gmap.h 13116 F: arch/s390/mm/gmap.c
|