| /linux/arch/s390/kvm/ |
| H A D | gmap.h | 60 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 D | gmap.c | 52 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 D | vsie.c | 599 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 D | pv.c | 466 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 D | kvm-s390.c | 560 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 D | faultin.c | 52 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 D | kvm-s390.h | 119 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 D | gaccess.c | 660 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 D | Makefile | 12 kvm-y += dat.o gmap.o faultin.o
|
| H A D | priv.c | 226 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 D | gaccess.h | 463 int gaccess_shadow_fault(struct kvm_vcpu *vcpu, struct gmap *sg, gpa_t saddr,
|
| H A D | interrupt.c | 2635 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 D | kvm_host.h | 425 struct gmap *gmap; member 646 struct gmap *gmap; member
|
| /linux/include/video/ |
| H A D | gbe.h | 60 volatile uint32_t gmap[256]; /* gamma map */ member
|
| /linux/drivers/net/dsa/lantiq/ |
| H A D | lantiq_gswip_common.c | 52 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 D | gbefb.c | 806 gbe->gmap[i] = (i << 24) | (i << 16) | (i << 8); in gbefb_set_par()
|