Home
last modified time | relevance | path

Searched refs:pgste (Results 1 – 6 of 6) sorted by relevance

/linux/arch/s390/kvm/gmap/
H A Ddat.c162 static void dat_set_storage_key_from_pgste(union pte pte, union pgste pgste) in dat_set_storage_key_from_pgste() argument
164 union skey nkey = { .acc = pgste.acc, .fp = pgste.fp }; in dat_set_storage_key_from_pgste()
174 static union pgste dat_save_storage_key_into_pgste(union pte pte, union pgste pgste) in dat_save_storage_key_into_pgste() argument
180 pgste.acc = skey.acc; in dat_save_storage_key_into_pgste()
181 pgste.fp = skey.fp; in dat_save_storage_key_into_pgste()
182 pgste.gr |= skey.r; in dat_save_storage_key_into_pgste()
183 pgste.gc |= skey.c; in dat_save_storage_key_into_pgste()
185 return pgste; in dat_save_storage_key_into_pgste()
188 union pgste __dat_ptep_xchg(union pte *ptep, union pgste pgste, union pte new, gfn_t gfn, in __dat_ptep_xchg() argument
196 return pgste; in __dat_ptep_xchg()
[all …]
H A Dgmap.c292 union pgste pgste; in gmap_clear_young_pte() local
300 pgste = pgste_get_lock(ptep); in gmap_clear_young_pte()
301 if (!pgste.prefix_notif || gmap_mkold_prefix(p->gmap, gfn, end)) { in gmap_clear_young_pte()
310 pgste.prefix_notif = 0; in gmap_clear_young_pte()
311 pgste = __dat_ptep_xchg(ptep, pgste, new, gfn, walk->asce, uses_skeys(p->gmap)); in gmap_clear_young_pte()
314 pgste_set_unlock(ptep, pgste); in gmap_clear_young_pte()
383 union pgste pgste; in _gmap_unmap_pte() local
385 pgste = pgste_get_lock(ptep); in _gmap_unmap_pte()
386 if (ptep->s.pr && pgste.usage == PGSTE_GPS_USAGE_UNUSED) { in _gmap_unmap_pte()
392 pgste = gmap_ptep_xchg(priv->gmap, ptep, _PTE_EMPTY, pgste, gfn); in _gmap_unmap_pte()
[all …]
H A Ddat.h127 union pgste { union
310 static_assert(sizeof(union pgste) == sizeof(unsigned long));
347 union pgste pgstes[_PAGE_ENTRIES];
522 union pgste __must_check __dat_ptep_xchg(union pte *ptep, union pgste pgste, union pte new,
774 static inline union pgste *pgste_of(union pte *pte) in pgste_of()
776 return (union pgste *)(pte + _PAGE_ENTRIES); in pgste_of()
865 static inline bool pgste_get_trylock(union pte *ptep, union pgste *res) in pgste_get_trylock()
867 union pgste *pgstep = pgste_of(ptep); in pgste_get_trylock()
868 union pgste old_pgste; in pgste_get_trylock()
880 static inline union pgste pgste_get_lock(union pte *ptep) in pgste_get_lock()
[all …]
/linux/arch/s390/kvm/s390/
H A Dgaccess.c1420 union pgste pgste; in _do_shadow_pte() local
1432 if (!pgste_get_trylock(ptep_h, &pgste)) in _do_shadow_pte()
1441 pgste = _gmap_ptep_xchg(sg->parent, ptep_h, newpte, pgste, f->gfn, false); in _do_shadow_pte()
1442 pgste.vsie_notif = 1; in _do_shadow_pte()
1443 pgste.vsie_gmem = 1; in _do_shadow_pte()
1445 pgste_set_unlock(ptep_h, pgste); in _do_shadow_pte()
1452 if (!pgste_get_trylock(ptep, &pgste)) in _do_shadow_pte()
1454 pgste = __dat_ptep_xchg(ptep, pgste, newpte, gpa_to_gfn(raddr), sg->asce, uses_skeys(sg)); in _do_shadow_pte()
1455 pgste_set_unlock(ptep, pgste); in _do_shadow_pte()
H A Ds390.c5755 union pgste pgste; in cmma_d_count_pte() local
5757 pgste = pgste_get_lock(ptep); in cmma_d_count_pte()
5758 if (pgste.cmma_d) { in cmma_d_count_pte()
5759 pgste.cmma_d = 0; in cmma_d_count_pte()
5762 pgste_set_unlock(ptep, pgste); in cmma_d_count_pte()
/linux/tools/testing/selftests/kvm/
H A DMakefile.kvm319 pgste-option = $(call try-run, echo 'int main(void) { return 0; }' | \
320 $(CC) -Werror -Wl$(comma)--s390-pgste -x c - -o "$$TMP",-Wl$(comma)--s390-pgste)
323 LDFLAGS += -pthread $(no-pie-option) $(pgste-option)