Home
last modified time | relevance | path

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

/linux/arch/s390/kvm/
H A Dgmap.h60 struct gmap { struct
70 struct gmap *parent; argument
79 struct gmap *gmap; argument
85 int s390_replace_asce(struct gmap *gmap);
86 bool _gmap_unmap_prefix(struct gmap *gmap, gfn_t gfn, gfn_t end, bool hint);
87 bool gmap_age_gfn(struct gmap *gmap, gfn_t start, gfn_t end);
88 bool gmap_unmap_gfn_range(struct gmap *gmap, struct kvm_memory_slot *slot, gfn_t start, gfn_t end);
89 int gmap_try_fixup_minor(struct gmap *gmap, struct guest_fault *fault);
90 struct gmap *gmap_new(struct kvm *kvm, gfn_t limit);
91 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.c620 void kvm_s390_vsie_gmap_notifier(struct gmap *gmap, gpa_t start, gpa_t end) in kvm_s390_vsie_gmap_notifier() argument
625 KVM_BUG_ON(!test_bit(GMAP_FLAG_SHADOW, &gmap->flags), gmap->kvm); in kvm_s390_vsie_gmap_notifier()
630 list_for_each_entry_safe(cur, next, &gmap->scb_users, gmap_cache.list) { in kvm_s390_vsie_gmap_notifier()
651 static int map_prefix(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page, struct gmap *sg) in map_prefix()
949 static int handle_fault(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page, struct gmap *sg) in handle_fault()
975 static void handle_last_fault(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page, struct gmap *sg) in handle_last_fault()
1060 static int vsie_handle_mvpg(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page, struct gmap *sg) in vsie_handle_mvpg()
1140 static int do_vsie_run(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page, struct gmap *sg) in do_vsie_run()
1239 struct gmap *gmap = vsie_page->gmap_cache.gmap; in release_gmap_shadow() local
1241 lockdep_assert_held(&gmap->kvm->arch.gmap->children_lock); in release_gmap_shadow()
[all …]
H A Dpv.c485 if (kvm->arch.gmap->asce.dt == TABLE_TYPE_SEGMENT) in kvm_s390_pv_set_aside()
498 priv->old_gmap_table = (unsigned long)dereference_asce(kvm->arch.gmap->asce); in kvm_s390_pv_set_aside()
499 if (s390_replace_asce(kvm->arch.gmap)) in kvm_s390_pv_set_aside()
508 gmap_pv_destroy_range(kvm->arch.gmap, 0, gpa_to_gfn(SZ_2G), false); in kvm_s390_pv_set_aside()
547 s390_replace_asce(kvm->arch.gmap); in kvm_s390_pv_deinit_vm()
624 gmap_pv_destroy_range(kvm->arch.gmap, 0, asce_end(kvm->arch.gmap->asce), false); in kvm_s390_pv_deinit_cleanup_all()
662 if (gmap_pv_destroy_range(kvm->arch.gmap, 0, asce_end(kvm->arch.gmap->asce), true)) in kvm_s390_pv_deinit_aside_vm()
701 set_bit(GMAP_FLAG_EXPORT_ON_UNMAP, &kvm->arch.gmap->flags); in kvm_s390_pv_mmu_notifier_release()
735 uvcb.guest_asce = kvm->arch.gmap->asce.val; in kvm_s390_pv_init_vm()
743 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()
726 gmap_sync_dirty_log(kvm->arch.gmap, memslot->base_gfn, last_gfn); in kvm_arch_sync_dirty_log()
886 set_bit(GMAP_FLAG_ALLOW_HPAGE_1M, &kvm->arch.gmap->flags); in kvm_vm_ioctl_enable_cap()
995 start_gfn = dat_reset_cmma(kvm->arch.gmap->asce, start_gfn); in kvm_s390_set_mem_control()
1038 ret = gmap_set_limit(kvm->arch.gmap, gpa_to_gfn(new_limit)); in kvm_s390_set_mem_control()
1043 VM_EVENT(kvm, 3, "New guest asce: 0x%p", (void *)kvm->arch.gmap->asce.val); in kvm_s390_set_mem_control()
1214 gmap_set_cmma_all_dirty(kvm->arch.gmap); in kvm_s390_vm_start_migration()
2127 if (!uses_skeys(kvm->arch.gmap)) in kvm_s390_get_skeys()
2140 r = dat_get_storage_key(kvm->arch.gmap->asce, in kvm_s390_get_skeys()
2183 r = gmap_enable_skeys(kvm->arch.gmap); in kvm_s390_set_skeys()
[all …]
H A Dfaultin.c53 if (gmap_try_fixup_minor(kvm->arch.gmap, f) == 0) in kvm_s390_faultin_gfn()
113 rc = gmap_link(mc, kvm->arch.gmap, f, slot); in kvm_s390_faultin_gfn()
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()
1465 static int _do_shadow_crste(struct gmap *sg, gpa_t raddr, union crste *host, union crste *table, in _do_shadow_crste()
1507 static int _gaccess_do_shadow(struct kvm_s390_mmu_cache *mc, struct gmap *sg, in _gaccess_do_shadow()
1585 static inline int _gaccess_shadow_fault(struct kvm_vcpu *vcpu, struct gmap *sg, gpa_t saddr, in _gaccess_shadow_fault()
1588 struct gmap *parent; in _gaccess_shadow_fault()
1633 static int __gaccess_shadow_fault(struct kvm_vcpu *vcpu, struct gmap *sg, gpa_t saddr, in __gaccess_shadow_fault()
[all …]
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()
1118 rc = dat_cond_set_storage_key(vcpu->arch.mc, vcpu->arch.gmap->asce, in handle_pfmf()
1165 nappended = dat_perform_essa(vcpu->arch.gmap->asce, gfn, orc, &state, &dirtied); in __do_essa()
1197 if (dat_entry_walk(NULL, gpa_to_gfn(cbrl[i]), vcpu->arch.gmap->asce, in _essa_clear_cbrl()
1245 set_bit(GMAP_FLAG_USES_CMM, &vcpu->arch.gmap->flags); in handle_essa()
H A Dinterrupt.c2638 set_bit(GMAP_FLAG_PFAULT_ENABLED, &dev->kvm->arch.gmap->flags); in flic_set_attr()
2643 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()