/arch/s390/include/asm/ |
D | gmap.h | 34 struct gmap { struct 52 struct gmap *parent; argument 82 void (*notifier_call)(struct gmap *gmap, unsigned long start, 86 static inline int gmap_is_shadow(struct gmap *gmap) in gmap_is_shadow() argument 88 return !!gmap->parent; in gmap_is_shadow() 91 struct gmap *gmap_create(struct mm_struct *mm, unsigned long limit); 92 void gmap_remove(struct gmap *gmap); 93 struct gmap *gmap_get(struct gmap *gmap); 94 void gmap_put(struct gmap *gmap); 96 void gmap_enable(struct gmap *gmap); [all …]
|
D | kvm_host.h | 617 struct gmap *gmap; member 619 struct gmap *enabled_gmap; 727 struct gmap *gmap; member
|
D | lowcore.h | 135 __u64 gmap; /* 0x03b8 */ member
|
/arch/s390/mm/ |
D | gmap.c | 32 static struct gmap *gmap_alloc(unsigned long limit) in gmap_alloc() 34 struct gmap *gmap; in gmap_alloc() local 56 gmap = kzalloc(sizeof(struct gmap), GFP_KERNEL); in gmap_alloc() 57 if (!gmap) in gmap_alloc() 59 INIT_LIST_HEAD(&gmap->crst_list); in gmap_alloc() 60 INIT_LIST_HEAD(&gmap->children); in gmap_alloc() 61 INIT_LIST_HEAD(&gmap->pt_list); in gmap_alloc() 62 INIT_RADIX_TREE(&gmap->guest_to_host, GFP_KERNEL); in gmap_alloc() 63 INIT_RADIX_TREE(&gmap->host_to_guest, GFP_ATOMIC); in gmap_alloc() 64 INIT_RADIX_TREE(&gmap->host_to_rmap, GFP_ATOMIC); in gmap_alloc() [all …]
|
D | fault.c | 212 else if ((current->flags & PF_VCPU) && S390_lowcore.gmap) { in dump_fault_info() 213 struct gmap *gmap = (struct gmap *)S390_lowcore.gmap; in dump_fault_info() local 214 asce = gmap->asce; in dump_fault_info() 399 struct gmap *gmap; in do_exception() local 441 gmap = (current->flags & PF_VCPU) ? in do_exception() 442 (struct gmap *) S390_lowcore.gmap : NULL; in do_exception() 443 if (gmap) { in do_exception() 447 address = __gmap_translate(gmap, address); in do_exception() 452 if (gmap->pfault_enabled) in do_exception() 513 if (gmap && (flags & FAULT_FLAG_RETRY_NOWAIT)) { in do_exception() [all …]
|
D | Makefile | 13 obj-$(CONFIG_PGSTE) += gmap.o
|
/arch/s390/kvm/ |
D | vsie.c | 41 struct gmap *gmap; /* 0x0220 */ member 387 void kvm_s390_vsie_gmap_notifier(struct gmap *gmap, unsigned long start, in kvm_s390_vsie_gmap_notifier() argument 390 struct kvm *kvm = gmap->private; in kvm_s390_vsie_gmap_notifier() 396 if (!gmap_is_shadow(gmap)) in kvm_s390_vsie_gmap_notifier() 411 if (READ_ONCE(cur->gmap) != gmap) in kvm_s390_vsie_gmap_notifier() 448 rc = kvm_s390_shadow_fault(vcpu, vsie_page->gmap, prefix); in map_prefix() 450 rc = kvm_s390_shadow_fault(vcpu, vsie_page->gmap, in map_prefix() 753 rc = kvm_s390_shadow_fault(vcpu, vsie_page->gmap, in handle_fault() 775 kvm_s390_shadow_fault(vcpu, vsie_page->gmap, in handle_last_fault() 907 if (vsie_page->gmap) in release_gmap_shadow() [all …]
|
D | diag.c | 44 gmap_discard(vcpu->arch.gmap, start, end); in diag_release_pages() 52 gmap_discard(vcpu->arch.gmap, start, prefix); in diag_release_pages() 54 gmap_discard(vcpu->arch.gmap, 0, PAGE_SIZE); in diag_release_pages() 56 gmap_discard(vcpu->arch.gmap, PAGE_SIZE, 2 * PAGE_SIZE); in diag_release_pages() 57 gmap_discard(vcpu->arch.gmap, prefix + 2 * PAGE_SIZE, end); in diag_release_pages()
|
D | kvm-s390.c | 169 static void kvm_gmap_notifier(struct gmap *gmap, unsigned long start, 478 struct gmap *gmap = kvm->arch.gmap; in kvm_s390_sync_dirty_log() local 485 if (test_and_clear_guest_dirty(gmap->mm, address)) in kvm_s390_sync_dirty_log() 697 s390_reset_cmma(kvm->arch.gmap->mm); in kvm_s390_set_mem_control() 726 struct gmap *new = gmap_create(current->mm, new_limit); in kvm_s390_set_mem_control() 731 gmap_remove(kvm->arch.gmap); in kvm_s390_set_mem_control() 733 kvm->arch.gmap = new; in kvm_s390_set_mem_control() 740 (void *) kvm->arch.gmap->asce); in kvm_s390_set_mem_control() 2003 kvm->arch.gmap = NULL; in kvm_arch_init_vm() 2011 kvm->arch.gmap = gmap_create(current->mm, kvm->arch.mem_limit - 1); in kvm_arch_init_vm() [all …]
|
D | kvm-s390.h | 66 if (kvm->arch.gmap) in kvm_is_ucontrol() 262 void kvm_s390_vsie_gmap_notifier(struct gmap *gmap, unsigned long start,
|
D | gaccess.h | 365 int kvm_s390_shadow_fault(struct kvm_vcpu *vcpu, struct gmap *shadow,
|
D | priv.c | 1027 struct gmap *gmap; in handle_essa() local 1031 gmap = vcpu->arch.gmap; in handle_essa() 1081 down_read(&gmap->mm->mmap_sem); in handle_essa() 1083 __gmap_zap(gmap, cbrlo[i]); in handle_essa() 1084 up_read(&gmap->mm->mmap_sem); in handle_essa()
|
D | gaccess.c | 982 static int kvm_s390_shadow_tables(struct gmap *sg, unsigned long saddr, in kvm_s390_shadow_tables() 986 struct gmap *parent; in kvm_s390_shadow_tables() 1167 int kvm_s390_shadow_fault(struct kvm_vcpu *vcpu, struct gmap *sg, in kvm_s390_shadow_fault()
|
D | interrupt.c | 2090 map->addr = gmap_translate(kvm->arch.gmap, addr); in kvm_s390_adapter_map() 2324 dev->kvm->arch.gmap->pfault_enabled = 1; in flic_set_attr() 2327 dev->kvm->arch.gmap->pfault_enabled = 0; in flic_set_attr()
|
/arch/s390/kernel/ |
D | asm-offsets.c | 178 OFFSET(__LC_GMAP, lowcore, gmap); in main() 199 OFFSET(__GMAP_ASCE, gmap, asce); in main()
|
D | entry.S | 293 lg %r14,__LC_GMAP # get gmap pointer
|