Home
last modified time | relevance | path

Searched refs:gmap (Results 1 – 16 of 16) sorted by relevance

/linux/arch/s390/kvm/
H A Dgmap.h60 struct gmap { struct
69 struct gmap *parent; argument
78 struct gmap *gmap; argument
84 int s390_replace_asce(struct gmap *gmap);
85 bool _gmap_unmap_prefix(struct gmap *gmap, gfn_t gfn, gfn_t end, bool hint);
86 bool gmap_age_gfn(struct gmap *gmap, gfn_t start, gfn_t end);
87 bool gmap_unmap_gfn_range(struct gmap *gmap, struct kvm_memory_slot *slot, gfn_t start, gfn_t end);
88 int gmap_try_fixup_minor(struct gmap *gmap, struct guest_fault *fault);
89 struct gmap *gmap_new(struct kvm *kvm, gfn_t limit);
90 struct gmap *gmap_new_child(struct gmap *parent, gfn_t limit);
[all …]
H A Dgmap.c52 struct gmap *gmap_new(struct kvm *kvm, gfn_t limit) in gmap_new()
55 struct gmap *gmap; in gmap_new() local
60 gmap = kzalloc_obj(*gmap, GFP_KERNEL_ACCOUNT); in gmap_new()
61 if (!gmap) in gmap_new()
63 INIT_LIST_HEAD(&gmap->children); in gmap_new()
64 INIT_LIST_HEAD(&gmap->list); in gmap_new()
65 INIT_LIST_HEAD(&gmap->scb_users); in gmap_new()
66 INIT_RADIX_TREE(&gmap->host_to_rmap, GFP_KVM_S390_MMU_CACHE); in gmap_new()
67 spin_lock_init(&gmap->children_lock); in gmap_new()
68 spin_lock_init(&gmap->host_to_rmap_lock); in gmap_new()
[all …]
H A Dvsie.c599 void kvm_s390_vsie_gmap_notifier(struct gmap *gmap, gpa_t start, gpa_t end) in kvm_s390_vsie_gmap_notifier() argument
604 KVM_BUG_ON(!test_bit(GMAP_FLAG_SHADOW, &gmap->flags), gmap->kvm); in kvm_s390_vsie_gmap_notifier()
609 list_for_each_entry_safe(cur, next, &gmap->scb_users, gmap_cache.list) { in kvm_s390_vsie_gmap_notifier()
630 static int map_prefix(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page, struct gmap *sg) in map_prefix()
928 static int handle_fault(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page, struct gmap *sg) in handle_fault()
954 static void handle_last_fault(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page, struct gmap *sg) in handle_last_fault()
1039 static int vsie_handle_mvpg(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page, struct gmap *sg) in vsie_handle_mvpg()
1119 static int do_vsie_run(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page, struct gmap *sg) in do_vsie_run()
1218 struct gmap *gmap = vsie_page->gmap_cache.gmap; in release_gmap_shadow() local
1220 lockdep_assert_held(&gmap->kvm->arch.gmap->children_lock); in release_gmap_shadow()
[all …]
H A Dpv.c466 if (kvm->arch.gmap->asce.dt == TABLE_TYPE_SEGMENT) in kvm_s390_pv_set_aside()
479 priv->old_gmap_table = (unsigned long)dereference_asce(kvm->arch.gmap->asce); in kvm_s390_pv_set_aside()
480 if (s390_replace_asce(kvm->arch.gmap)) in kvm_s390_pv_set_aside()
489 gmap_pv_destroy_range(kvm->arch.gmap, 0, gpa_to_gfn(SZ_2G), false); in kvm_s390_pv_set_aside()
528 s390_replace_asce(kvm->arch.gmap); in kvm_s390_pv_deinit_vm()
605 gmap_pv_destroy_range(kvm->arch.gmap, 0, asce_end(kvm->arch.gmap->asce), false); in kvm_s390_pv_deinit_cleanup_all()
643 if (gmap_pv_destroy_range(kvm->arch.gmap, 0, asce_end(kvm->arch.gmap->asce), true)) in kvm_s390_pv_deinit_aside_vm()
682 set_bit(GMAP_FLAG_EXPORT_ON_UNMAP, &kvm->arch.gmap->flags); in kvm_s390_pv_mmu_notifier_release()
716 uvcb.guest_asce = kvm->arch.gmap->asce.val; in kvm_s390_pv_init_vm()
724 clear_bit(GMAP_FLAG_ALLOW_HPAGE_1M, &kvm->arch.gmap->flags); in kvm_s390_pv_init_vm()
[all …]
H A Dkvm-s390.c560 union asce asce = kvm->arch.gmap->asce; in kvm_s390_keyop()
725 gmap_sync_dirty_log(kvm->arch.gmap, memslot->base_gfn, last_gfn); in kvm_arch_sync_dirty_log()
885 set_bit(GMAP_FLAG_ALLOW_HPAGE_1M, &kvm->arch.gmap->flags); in kvm_vm_ioctl_enable_cap()
989 start_gfn = dat_reset_cmma(kvm->arch.gmap->asce, start_gfn); in kvm_s390_set_mem_control()
1013 ret = gmap_set_limit(kvm->arch.gmap, gpa_to_gfn(new_limit)); in kvm_s390_set_mem_control()
1016 (void *)kvm->arch.gmap->asce.val); in kvm_s390_set_mem_control()
1187 gmap_set_cmma_all_dirty(kvm->arch.gmap); in kvm_s390_vm_start_migration()
2100 if (!uses_skeys(kvm->arch.gmap)) in kvm_s390_get_skeys()
2113 r = dat_get_storage_key(kvm->arch.gmap->asce, in kvm_s390_get_skeys()
2156 r = gmap_enable_skeys(kvm->arch.gmap); in kvm_s390_set_skeys()
[all …]
H A Dfaultin.c52 if (gmap_try_fixup_minor(kvm->arch.gmap, f) == 0) in kvm_s390_faultin_gfn()
112 rc = gmap_link(mc, kvm->arch.gmap, f); in kvm_s390_faultin_gfn()
H A Dkvm-s390.h119 return test_bit(GMAP_FLAG_IS_UCONTROL, &kvm->arch.gmap->flags); in kvm_is_ucontrol()
443 void kvm_s390_vsie_gmap_notifier(struct gmap *gmap, gpa_t start, gpa_t end);
467 int __kvm_s390_mprotect_many(struct gmap *gmap, gpa_t gpa, u8 npages, unsigned int prot,
H A Dgaccess.c660 r = dat_get_storage_key(kvm->arch.gmap->asce, gpa_to_gfn(gpa), &storage_key); in vm_check_access_key_gpa()
719 r = dat_get_storage_key(vcpu->arch.gmap->asce, gpa_to_gfn(gpa), &storage_key); in vcpu_check_access_key_gpa()
1279 static int walk_guest_tables(struct gmap *sg, unsigned long saddr, struct pgtwalk *w, bool wr) in walk_guest_tables()
1281 struct gmap *parent = sg->parent; in walk_guest_tables()
1422 static int _do_shadow_pte(struct gmap *sg, gpa_t raddr, union pte *ptep_h, union pte *ptep, in _do_shadow_pte()
1464 static int _do_shadow_crste(struct gmap *sg, gpa_t raddr, union crste *host, union crste *table, in _do_shadow_crste()
1505 static int _gaccess_do_shadow(struct kvm_s390_mmu_cache *mc, struct gmap *sg, in _gaccess_do_shadow()
1583 static inline int _gaccess_shadow_fault(struct kvm_vcpu *vcpu, struct gmap *sg, gpa_t saddr, in _gaccess_shadow_fault()
1586 struct gmap *parent; in _gaccess_shadow_fault()
1630 static int __gaccess_shadow_fault(struct kvm_vcpu *vcpu, struct gmap *sg, gpa_t saddr, in __gaccess_shadow_fault()
[all …]
H A DMakefile12 kvm-y += dat.o gmap.o faultin.o
H A Dpriv.c226 rc = gmap_enable_skeys(vcpu->arch.gmap); in kvm_s390_skey_check_enable()
279 rc = dat_get_storage_key(vcpu->arch.gmap->asce, gpa_to_gfn(gaddr), &key); in handle_iske()
310 rc = dat_reset_reference_bit(vcpu->arch.gmap->asce, gpa_to_gfn(gaddr)); in handle_rrbe()
362 rc = dat_cond_set_storage_key(vcpu->arch.mc, vcpu->arch.gmap->asce, in handle_sske()
1114 rc = dat_cond_set_storage_key(vcpu->arch.mc, vcpu->arch.gmap->asce, in handle_pfmf()
1161 nappended = dat_perform_essa(vcpu->arch.gmap->asce, gfn, orc, &state, &dirtied); in __do_essa()
1192 if (dat_entry_walk(NULL, gpa_to_gfn(cbrl[i]), vcpu->arch.gmap->asce, in _essa_clear_cbrl()
1237 set_bit(GMAP_FLAG_USES_CMM, &vcpu->arch.gmap->flags); in handle_essa()
H A Dgaccess.h463 int gaccess_shadow_fault(struct kvm_vcpu *vcpu, struct gmap *sg, gpa_t saddr,
H A Dinterrupt.c2635 set_bit(GMAP_FLAG_PFAULT_ENABLED, &dev->kvm->arch.gmap->flags); in flic_set_attr()
2640 clear_bit(GMAP_FLAG_PFAULT_ENABLED, &dev->kvm->arch.gmap->flags); in flic_set_attr()
/linux/arch/s390/include/asm/
H A Dkvm_host.h425 struct gmap *gmap; member
646 struct gmap *gmap; member
/linux/include/video/
H A Dgbe.h60 volatile uint32_t gmap[256]; /* gamma map */ member
/linux/drivers/net/dsa/lantiq/
H A Dlantiq_gswip_common.c52 u8 gmap; member
275 tbl->gmap = (crtl & GSWIP_PCE_TBL_CTRL_GMAP_MASK) >> 7; in gswip_pce_table_entry_read()
327 crtl |= (tbl->gmap << 7) & GSWIP_PCE_TBL_CTRL_GMAP_MASK; in gswip_pce_table_entry_write()
/linux/drivers/video/fbdev/
H A Dgbefb.c806 gbe->gmap[i] = (i << 24) | (i << 16) | (i << 8); in gbefb_set_par()