Home
last modified time | relevance | path

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

/linux/arch/s390/kvm/
H A Dgmap.h16 * 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
111 uses_skeys(struct gmap * gmap) uses_skeys() argument
116 uses_cmm(struct gmap * gmap) uses_cmm() argument
121 pfault_enabled(struct gmap * gmap) pfault_enabled() argument
126 is_ucontrol(struct gmap * gmap) is_ucontrol() argument
131 is_shadow(struct gmap * gmap) is_shadow() argument
136 owns_page_tables(struct gmap * gmap) owns_page_tables() argument
141 gmap_put(struct gmap * gmap) gmap_put() argument
148 gmap_get(struct gmap * gmap) gmap_get() argument
159 gmap_mkold_prefix(struct gmap * gmap,gfn_t gfn,gfn_t end) gmap_mkold_prefix() argument
164 gmap_unmap_prefix(struct gmap * gmap,gfn_t gfn,gfn_t end) gmap_unmap_prefix() argument
169 _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
194 gmap_ptep_xchg(struct gmap * gmap,union pte * ptep,union pte newpte,union pgste pgste,gfn_t gfn) gmap_ptep_xchg() argument
200 _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
231 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 Dgmap.c23 #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
191 gmap_dispose(struct gmap * gmap) gmap_dispose() argument
233 s390_replace_asce(struct gmap * gmap) s390_replace_asce() argument
255 _gmap_unmap_prefix(struct gmap * gmap,gfn_t gfn,gfn_t end,bool hint) _gmap_unmap_prefix() argument
279 struct gmap *gmap; global() member
350 gmap_age_gfn(struct gmap * gmap,gfn_t start,gfn_t end) gmap_age_gfn() argument
368 struct gmap *gmap; global() member
424 gmap_unmap_gfn_range(struct gmap * gmap,struct kvm_memory_slot * slot,gfn_t start,gfn_t end) gmap_unmap_gfn_range() argument
443 __pte_test_and_clear_softdirty(union pte * ptep,union pgste pgste,gfn_t gfn,struct gmap * gmap) __pte_test_and_clear_softdirty() argument
468 struct gmap *gmap = walk->priv; _pte_test_and_clear_softdirty() local
480 struct gmap *gmap = walk->priv; _crste_test_and_clear_softdirty() local
510 gmap_sync_dirty_log(struct gmap * gmap,gfn_t start,gfn_t end) gmap_sync_dirty_log() argument
523 gmap_handle_minor_crste_fault(struct gmap * gmap,struct guest_fault * f) gmap_handle_minor_crste_fault() argument
555 _gmap_handle_minor_pte_fault(struct gmap * gmap,union pgste * pgste,struct guest_fault * f) _gmap_handle_minor_pte_fault() argument
594 gmap_try_fixup_minor(struct gmap * gmap,struct guest_fault * fault) gmap_try_fixup_minor() argument
621 gmap_2g_allowed(struct gmap * gmap,gfn_t gfn) gmap_2g_allowed() argument
626 gmap_1m_allowed(struct gmap * gmap,gfn_t gfn) gmap_1m_allowed() argument
631 _gmap_link(struct kvm_s390_mmu_cache * mc,struct gmap * gmap,int level,struct guest_fault * f) _gmap_link() argument
682 gmap_link(struct kvm_s390_mmu_cache * mc,struct gmap * gmap,struct guest_fault * f) gmap_link() argument
700 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
738 gmap_ucas_translate_simple(struct gmap * gmap,gpa_t * gaddr,union crste ** crstepp) gmap_ucas_translate_simple() argument
767 gmap_ucas_translate(struct kvm_s390_mmu_cache * mc,struct gmap * gmap,gpa_t * gaddr) gmap_ucas_translate() argument
803 gmap_ucas_map(struct gmap * gmap,gfn_t p_gfn,gfn_t c_gfn,unsigned long count) gmap_ucas_map() argument
831 gmap_ucas_unmap_one(struct gmap * gmap,gfn_t c_gfn) gmap_ucas_unmap_one() argument
844 gmap_ucas_unmap(struct gmap * gmap,gfn_t c_gfn,unsigned long count) gmap_ucas_unmap() argument
854 struct gmap *gmap = walk->priv; _gmap_split_crste() local
876 gmap_split_huge_pages(struct gmap * gmap) gmap_split_huge_pages() argument
892 _gmap_enable_skeys(struct gmap * gmap) _gmap_enable_skeys() argument
915 gmap_enable_skeys(struct gmap * gmap) gmap_enable_skeys() argument
952 gmap_pv_destroy_range(struct gmap * gmap,gfn_t start,gfn_t end,bool interruptible) gmap_pv_destroy_range() argument
1049 gmap_set_cmma_all_dirty(struct gmap * gmap) gmap_set_cmma_all_dirty() argument
[all...]
H A Dvsie.c25 #include "gmap.h"
63 /* the shadow gmap in use by the vsie_page */
104 /* test if the prefix is mapped into the gmap shadow */
620 void kvm_s390_vsie_gmap_notifier(struct gmap *gmap, gpa_t start, gpa_t end)
625 KVM_BUG_ON(!test_bit(GMAP_FLAG_SHADOW, &gmap->flags), gmap->kvm);
630 list_for_each_entry_safe(cur, next, &gmap->scb_users, gmap_cache.list) { in map_prefix()
642 * The prefix will be protected, a gmap notifier will inform about unmaps. in map_prefix()
651 static int map_prefix(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page, struct gmap *s in map_prefix()
599 kvm_s390_vsie_gmap_notifier(struct gmap * gmap,gpa_t start,gpa_t end) kvm_s390_vsie_gmap_notifier() argument
1218 struct gmap *gmap = vsie_page->gmap_cache.gmap; release_gmap_shadow() local
1235 struct gmap *gmap; acquire_gmap_shadow() local
[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.c55 #include "gmap.h"
560 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()
1019 ret = gmap_set_limit(kvm->arch.gmap, gpa_to_gfn(new_limit)); in kvm_s390_set_mem_control()
1022 (void *)kvm->arch.gmap->asce.val); in kvm_s390_set_mem_control()
1193 gmap_set_cmma_all_dirty(kvm->arch.gmap);
2106 if (!uses_skeys(kvm->arch.gmap)) in kvm_s390_get_skeys()
2119 r = dat_get_storage_key(kvm->arch.gmap in kvm_s390_get_skeys()
[all...]
H A Dgaccess.c22 #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 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()
1481 /* _gmap_crstep_xchg_atomic() could have unshadowed this shadow gmap */ in _do_shadow_crste()
1505 static int _gaccess_do_shadow(struct kvm_s390_mmu_cache *mc, struct gmap *s
[all...]
H A Dinterrupt.c36 #include "gmap.h"
2638 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()