| /linux/arch/s390/kvm/ |
| H A D | dat.c | 139 * @crstep: Pointer to the CRST entry. 152 bool __must_check dat_crstep_xchg_atomic(union crste *crstep, union crste old, union crste new, in dat_crstep_xchg_atomic() argument 156 return arch_try_cmpxchg((long *)crstep, &old.val, new.val); in dat_crstep_xchg_atomic() 158 return crdte_crste(crstep, old, new, gfn, asce); in dat_crstep_xchg_atomic() 159 return cspg_crste(crstep, old, new); in dat_crstep_xchg_atomic() 302 static int dat_split_crste(struct kvm_s390_mmu_cache *mc, union crste *crstep, in dat_split_crste() argument 309 old = READ_ONCE(*crstep); in dat_split_crste() 311 return dat_split_ste(mc, &crstep->pmd, gfn, asce, uses_skeys); in dat_split_crste() 336 if (dat_crstep_xchg_atomic(crstep, old, new, gfn, asce)) in dat_split_crste() 338 old = READ_ONCE(*crstep); in dat_split_crste() 616 union crste *crstep; dat_get_storage_key() local 658 union crste *crstep; dat_set_storage_key() local 713 union crste *crstep; dat_cond_set_storage_key() local 759 union crste *crstep; dat_reset_reference_bit() local 807 dat_reset_skeys_crste(union crste * crstep,gfn_t gfn,gfn_t next,struct dat_walk * walk) dat_reset_skeys_crste() argument 858 _dat_slot_crste(union crste * crstep,gfn_t gfn,gfn_t next,struct dat_walk * walk) _dat_slot_crste() argument 974 _dat_test_young_crste(union crste * crstep,gfn_t start,gfn_t end,struct dat_walk * walk) _dat_test_young_crste() argument 1001 dat_set_pn_crste(union crste * crstep,gfn_t gfn,gfn_t next,struct dat_walk * walk) dat_set_pn_crste() argument 1066 union crste *crstep; dat_perform_essa() local 1190 __dat_peek_cmma_crste(union crste * crstep,gfn_t gfn,gfn_t next,struct dat_walk * walk) __dat_peek_cmma_crste() argument 1310 union crste *crstep; dat_set_cmma_bits() local [all...] |
| H A D | gmap.c | 316 static long gmap_clear_young_crste(union crste *crstep, gfn_t gfn, gfn_t end, struct dat_walk *walk) in gmap_clear_young_crste() 322 crste = READ_ONCE(*crstep); in gmap_clear_young_crste() 339 } while (!dat_crstep_xchg_atomic(crstep, crste, new, gfn, walk->asce)); 398 static long _gmap_unmap_crste(union crste *crstep, gfn_t gfn, gfn_t next, struct dat_walk *walk) in _gmap_unmap_crste() 402 union crste old = *crstep; in _gmap_unmap_crste() 418 ok = gmap_crstep_xchg_atomic(priv->gmap, crstep, old, _CRSTE_EMPTY(old.h.tt), gfn); in _gmap_unmap_crste() 422 ok = gmap_crstep_xchg_atomic(priv->gmap, crstep, old, _CRSTE_EMPTY(old.h.tt), gfn); in _gmap_unmap_crste() 542 union crste newcrste, oldcrste = READ_ONCE(*f->crstep); in gmap_handle_minor_crste_fault() 567 return !gmap_crstep_xchg_atomic(gmap, f->crstep, oldcrste, newcrste, f->gfn); in _gmap_handle_minor_pte_fault() 620 &fault->crstep, in gmap_try_fixup_minor() 311 gmap_clear_young_crste(union crste * crstep,gfn_t gfn,gfn_t end,struct dat_walk * walk) gmap_clear_young_crste() argument 393 _gmap_unmap_crste(union crste * crstep,gfn_t gfn,gfn_t next,struct dat_walk * walk) _gmap_unmap_crste() argument 737 union crste *crstep; gmap_ucas_map_one() local 802 union crste *crstep; gmap_ucas_translate() local 865 union crste *crstep; gmap_ucas_unmap_one() local 884 _gmap_split_crste(union crste * crstep,gfn_t gfn,gfn_t next,struct dat_walk * walk) _gmap_split_crste() argument 967 _destroy_pages_crste(union crste * crstep,gfn_t gfn,gfn_t next,struct dat_walk * walk) _destroy_pages_crste() argument 1042 union crste *crstep; gmap_protect_rmap() local 1101 union crste *crstep; gmap_unshadow_level() local [all...] |
| H A D | dat.h | 499 union crste *crstep; /* Used to resolve the fault, or NULL */ member 504 bool crste_region3; /* Whether crstep refers to a region3 entry */ 523 bool dat_crstep_xchg_atomic(union crste *crstep, union crste old, union crste new, gfn_t gfn, 525 void dat_crstep_xchg(union crste *crstep, union crste new, gfn_t gfn, union asce asce); 583 static inline struct crst_table *crste_table_start(union crste *crstep) in crste_table_start() 585 return (struct crst_table *)ALIGN_DOWN((unsigned long)crstep, _CRST_TABLE_SIZE); in crste_table_start() 593 static inline bool crdte_crste(union crste *crstep, union crste old, union crste new, gfn_t gfn, in crdte_crste() 597 void *table = crste_table_start(crstep); in crdte_crste() 604 * @crstep: pointer to the crste to be invalidated 610 static __always_inline void idte_crste(union crste *crstep, gfn_ in idte_crste() 582 crste_table_start(union crste * crstep) crste_table_start() argument 592 crdte_crste(union crste * crstep,union crste old,union crste new,gfn_t gfn,union asce asce) crdte_crste() argument 609 idte_crste(union crste * crstep,gfn_t gfn,unsigned long opt,union asce asce,int local) idte_crste() argument 802 cspg_crste(union crste * crstep,union crste old,union crste new) cspg_crste() argument 945 dat_crstep_clear_atomic(union crste * crstep,gfn_t gfn,union asce asce) dat_crstep_clear_atomic() argument 955 get_level(union crste * crstep,union pte * ptep) get_level() argument [all...] |
| H A D | gmap.h | 258 static inline bool __must_check _gmap_crstep_xchg_atomic(struct gmap *gmap, union crste *crstep, in _gmap_crstep_xchg_atomic() 264 if (KVM_BUG_ON(crstep->h.tt != oldcrste.h.tt || newcrste.h.tt != oldcrste.h.tt, gmap->kvm)) in _gmap_crstep_xchg_atomic() 283 if (!dat_crstep_xchg_atomic(crstep, oldcrste, newcrste, gfn, gmap->asce)) in _gmap_crstep_xchg_atomic() 297 return dat_crstep_xchg_atomic(crstep, oldcrste, newcrste, gfn, gmap->asce); 300 static inline bool __must_check gmap_crstep_xchg_atomic(struct gmap *gmap, union crste *crstep, 304 return _gmap_crstep_xchg_atomic(gmap, crstep, oldcrste, newcrste, gfn, true); 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
|
| H A D | priv.c | 1188 union crste *crstep; in _essa_clear_cbrl() local 1198 0, TABLE_TYPE_PAGE_TABLE, &crstep, &ptep)) in _essa_clear_cbrl()
|