| /linux/arch/s390/kvm/ |
| H A D | gmap.h | 16 * enum gmap_flags - Flags of a gmap. 18 * @GMAP_FLAG_SHADOW: The gmap is a vsie shadow gmap. 19 * @GMAP_FLAG_OWNS_PAGETABLES: The gmap owns all dat levels; normally 1, is 0 21 * share the page tables with the main gmap. 22 * @GMAP_FLAG_IS_UCONTROL: The gmap is ucontrol (main gmap or per-cpu gmap). 23 * @GMAP_FLAG_ALLOW_HPAGE_1M: 1M hugepages are allowed for this gmap, 25 * @GMAP_FLAG_ALLOW_HPAGE_2G: 2G hugepages are allowed for this gmap, 60 struct gmap { global() struct 70 parentgmap global() argument 79 struct gmap *gmap; global() member 112 uses_skeys(struct gmap * gmap) uses_skeys() argument 117 uses_cmm(struct gmap * gmap) uses_cmm() argument 122 pfault_enabled(struct gmap * gmap) pfault_enabled() argument 127 is_ucontrol(struct gmap * gmap) is_ucontrol() argument 132 is_shadow(struct gmap * gmap) is_shadow() argument 137 owns_page_tables(struct gmap * gmap) owns_page_tables() argument 142 gmap_put(struct gmap * gmap) gmap_put() argument 149 gmap_get(struct gmap * gmap) gmap_get() argument 160 gmap_mkold_prefix(struct gmap * gmap,gfn_t gfn,gfn_t end) gmap_mkold_prefix() argument 165 gmap_unmap_prefix(struct gmap * gmap,gfn_t gfn,gfn_t end) gmap_unmap_prefix() argument 200 _gmap_ptep_xchg(struct gmap * gmap,union pte * ptep,union pte newpte,union pgste pgste,gfn_t gfn,bool needs_lock) _gmap_ptep_xchg() argument 227 gmap_ptep_xchg(struct gmap * gmap,union pte * ptep,union pte newpte,union pgste pgste,gfn_t gfn) gmap_ptep_xchg() argument 257 _gmap_crstep_xchg_atomic(struct gmap * gmap,union crste * crstep,union crste oldcrste,union crste newcrste,gfn_t gfn,bool needs_lock) _gmap_crstep_xchg_atomic() argument 290 gmap_crstep_xchg_atomic(struct gmap * gmap,union crste * crstep,union crste oldcrste,union crste newcrste,gfn_t gfn) gmap_crstep_xchg_atomic() argument [all...] |
| H A D | gmap.c | 23 #include "gmap.h" 48 * @limit: Maximum address of the gmap address space. 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 in gmap_new() 126 gmap_set_limit(struct gmap * gmap,gfn_t limit) gmap_set_limit() argument 190 gmap_dispose(struct gmap * gmap) gmap_dispose() argument 232 s390_replace_asce(struct gmap * gmap) s390_replace_asce() argument 254 _gmap_unmap_prefix(struct gmap * gmap,gfn_t gfn,gfn_t end,bool hint) _gmap_unmap_prefix() argument 278 struct gmap *gmap; global() member 349 gmap_age_gfn(struct gmap * gmap,gfn_t start,gfn_t end) gmap_age_gfn() argument 367 struct gmap *gmap; global() member 436 gmap_unmap_gfn_range(struct gmap * gmap,struct kvm_memory_slot * slot,gfn_t start,gfn_t end) gmap_unmap_gfn_range() argument 455 __pte_test_and_clear_softdirty(union pte * ptep,union pgste pgste,gfn_t gfn,struct gmap * gmap) __pte_test_and_clear_softdirty() argument 480 struct gmap *gmap = walk->priv; _pte_test_and_clear_softdirty() local 492 struct gmap *gmap = walk->priv; _crste_test_and_clear_softdirty() local 522 gmap_sync_dirty_log(struct gmap * gmap,gfn_t start,gfn_t end) gmap_sync_dirty_log() argument 535 gmap_handle_minor_crste_fault(struct gmap * gmap,struct guest_fault * f) gmap_handle_minor_crste_fault() argument 567 _gmap_handle_minor_pte_fault(struct gmap * gmap,union pgste * pgste,struct guest_fault * f) _gmap_handle_minor_pte_fault() argument 606 gmap_try_fixup_minor(struct gmap * gmap,struct guest_fault * fault) gmap_try_fixup_minor() argument 633 gmap_2g_allowed(struct gmap * gmap,struct guest_fault * f,struct kvm_memory_slot * slot) gmap_2g_allowed() argument 653 gmap_1m_allowed(struct gmap * gmap,struct guest_fault * f,struct kvm_memory_slot * slot) gmap_1m_allowed() argument 662 _gmap_link(struct kvm_s390_mmu_cache * mc,struct gmap * gmap,int level,struct guest_fault * f) _gmap_link() argument 713 gmap_link(struct kvm_s390_mmu_cache * mc,struct gmap * gmap,struct guest_fault * f,struct kvm_memory_slot * slot) gmap_link() argument 732 gmap_ucas_map_one(struct kvm_s390_mmu_cache * mc,struct gmap * gmap,gfn_t p_gfn,gfn_t c_gfn,bool force_alloc) gmap_ucas_map_one() argument 770 gmap_ucas_translate_simple(struct gmap * gmap,gpa_t * gaddr,union crste ** crstepp) gmap_ucas_translate_simple() argument 799 gmap_ucas_translate(struct kvm_s390_mmu_cache * mc,struct gmap * gmap,gpa_t * gaddr) gmap_ucas_translate() argument 835 gmap_ucas_map(struct gmap * gmap,gfn_t p_gfn,gfn_t c_gfn,unsigned long count) gmap_ucas_map() argument 863 gmap_ucas_unmap_one(struct gmap * gmap,gfn_t c_gfn) gmap_ucas_unmap_one() argument 876 gmap_ucas_unmap(struct gmap * gmap,gfn_t c_gfn,unsigned long count) gmap_ucas_unmap() argument 886 struct gmap *gmap = walk->priv; _gmap_split_crste() local 908 gmap_split_huge_pages(struct gmap * gmap) gmap_split_huge_pages() argument 924 _gmap_enable_skeys(struct gmap * gmap) _gmap_enable_skeys() argument 947 gmap_enable_skeys(struct gmap * gmap) gmap_enable_skeys() argument 984 gmap_pv_destroy_range(struct gmap * gmap,gfn_t start,gfn_t end,bool interruptible) gmap_pv_destroy_range() argument 1084 gmap_set_cmma_all_dirty(struct gmap * gmap) gmap_set_cmma_all_dirty() argument [all...] |
| H A D | vsie.c | 28 #include "gmap.h" 66 /* the shadow gmap in use by the vsie_page */ 107 /* test if the prefix is mapped into the gmap shadow */ in prefix_is_mapped() 623 void kvm_s390_vsie_gmap_notifier(struct gmap *gmap, gpa_t start, gpa_t end) in kvm_s390_vsie_gmap_notifier() 628 KVM_BUG_ON(!test_bit(GMAP_FLAG_SHADOW, &gmap->flags), gmap->kvm); in kvm_s390_vsie_gmap_notifier() 633 list_for_each_entry_safe(cur, next, &gmap->scb_users, gmap_cache.list) { in kvm_s390_vsie_gmap_notifier() 645 * The prefix will be protected, a gmap notifier will inform about unmaps. 654 static int map_prefix(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page, struct gmap *s in map_prefix() 620 kvm_s390_vsie_gmap_notifier(struct gmap * gmap,gpa_t start,gpa_t end) kvm_s390_vsie_gmap_notifier() argument 1239 struct gmap *gmap = vsie_page->gmap_cache.gmap; release_gmap_shadow() local 1256 struct gmap *gmap; acquire_gmap_shadow() local [all...] |
| H A D | pv.c | 24 #include "gmap.h" 221 * @old_gmap_table: the gmap table of the leftover protected VM 485 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, in kvm_s390_pv_deinit_aside_vm() [all...] |
| H A D | kvm-s390.c | 55 #include "gmap.h" 565 union asce asce = kvm->arch.gmap->asce; in kvm_s390_keyop() 737 gmap_sync_dirty_log(kvm->arch.gmap, memslot->base_gfn, last_gfn); in kvm_vm_ioctl_get_dirty_log() 897 set_bit(GMAP_FLAG_ALLOW_HPAGE_1M, &kvm->arch.gmap->flags); in kvm_vm_ioctl_enable_cap() 918 set_bit(GMAP_FLAG_ALLOW_HPAGE_2G, &kvm->arch.gmap->flags); in kvm_vm_ioctl_enable_cap() 1027 start_gfn = dat_reset_cmma(kvm->arch.gmap->asce, start_gfn); in kvm_s390_set_mem_control() 1070 ret = gmap_set_limit(kvm->arch.gmap, gpa_to_gfn(new_limit)); 1075 VM_EVENT(kvm, 3, "New guest asce: 0x%p", (void *)kvm->arch.gmap->asce.val); in kvm_s390_vm_set_crypto() 1246 gmap_set_cmma_all_dirty(kvm->arch.gmap); in kvm_s390_vm_set_migration() 2159 if (!uses_skeys(kvm->arch.gmap)) in kvm_s390_set_skeys() [all...] |
| H A D | faultin.c | 53 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 D | gaccess.c | 22 #include "gmap.h" 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() 1270 * @saddr: Faulting address in the shadow gmap. 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 kvm_s390_mmu_cache *mc, struct gmap *sg, gpa_t raddr, in _do_shadow_pte() 1465 static int _do_shadow_crste(struct kvm_s390_mmu_cache *mc, struct gmap *sg, gpa_t raddr, in _do_shadow_crste() 1484 /* _gmap_crstep_xchg_atomic() could have unshadowed this shadow gmap */ in _do_shadow_crste() 1507 static int _gaccess_do_shadow(struct kvm_s390_mmu_cache *mc, struct gmap *s [all...] |
| 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() 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 D | interrupt.c | 36 #include "gmap.h" 2825 set_bit(GMAP_FLAG_PFAULT_ENABLED, &dev->kvm->arch.gmap->flags); in kvm_s390_reinject_machine_check() 2830 clear_bit(GMAP_FLAG_PFAULT_ENABLED, &dev->kvm->arch.gmap->flags); in kvm_s390_reinject_machine_check()
|
| /linux/arch/s390/include/asm/ |
| H A D | kvm_host.h | 425 struct gmap *gmap; member 667 struct gmap *gmap; 646 struct gmap *gmap; global() 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()
|