Home
last modified time | relevance | path

Searched refs:oldcrste (Results 1 – 5 of 5) sorted by relevance

/linux/arch/s390/kvm/
H A Dgmap.h250 static inline bool crste_needs_unshadow(union crste oldcrste, union crste newcrste) in crste_needs_unshadow() argument
252 if (!oldcrste.s.fc1.vsie_notif) in crste_needs_unshadow()
254 return (newcrste.h.p != oldcrste.h.p) || newcrste.h.i || !newcrste.s.fc1.vsie_notif; in crste_needs_unshadow()
258 union crste oldcrste, union crste newcrste, in _gmap_crstep_xchg_atomic() argument
263 if (KVM_BUG_ON(crstep->h.tt != oldcrste.h.tt || newcrste.h.tt != oldcrste.h.tt, gmap->kvm)) in _gmap_crstep_xchg_atomic()
271 if (crste_prefix(oldcrste) && (newcrste.h.p || newcrste.h.i || !crste_prefix(newcrste))) { in _gmap_crstep_xchg_atomic()
275 if (crste_leaf(oldcrste) && crste_needs_unshadow(oldcrste, newcrste)) { in _gmap_crstep_xchg_atomic()
282 if (!oldcrste.s.fc1.d && newcrste.s.fc1.d && !newcrste.s.fc1.s) in _gmap_crstep_xchg_atomic()
284 return dat_crstep_xchg_atomic(crstep, oldcrste, newcrste, gfn, gmap->asce); in _gmap_crstep_xchg_atomic()
288 union crste oldcrste, union crste newcrste, in gmap_crstep_xchg_atomic() argument
[all …]
H A Dgmap.c524 union crste newcrste, oldcrste = READ_ONCE(*f->crstep); in gmap_handle_minor_crste_fault() local
527 if (!oldcrste.h.fc) in gmap_handle_minor_crste_fault()
530 f->pfn = PHYS_PFN(large_crste_to_phys(oldcrste, f->gfn)); in gmap_handle_minor_crste_fault()
531 f->writable = oldcrste.s.fc1.w; in gmap_handle_minor_crste_fault()
534 if (!oldcrste.h.i && !(f->write_attempt && oldcrste.h.p)) in gmap_handle_minor_crste_fault()
537 if (!f->write_attempt || oldcrste.s.fc1.w) { in gmap_handle_minor_crste_fault()
538 f->write_attempt |= oldcrste.s.fc1.w && oldcrste.s.fc1.d; in gmap_handle_minor_crste_fault()
539 newcrste = oldcrste; in gmap_handle_minor_crste_fault()
548 return !gmap_crstep_xchg_atomic(gmap, f->crstep, oldcrste, newcrste, f->gfn); in gmap_handle_minor_crste_fault()
722 union crste newcrste, oldcrste; in gmap_ucas_map_one() local
[all …]
H A Dgaccess.c1468 union crste newcrste, oldcrste; in _do_shadow_crste() local
1485 oldcrste = READ_ONCE(*host); in _do_shadow_crste()
1486 newcrste = _crste_fc1(f->pfn, oldcrste.h.tt, f->writable, !p); in _do_shadow_crste()
1487 newcrste.s.fc1.d |= oldcrste.s.fc1.d; in _do_shadow_crste()
1488 newcrste.s.fc1.sd |= oldcrste.s.fc1.sd; in _do_shadow_crste()
1489 newcrste.h.p &= oldcrste.h.p; in _do_shadow_crste()
1491 newcrste.s.fc1.prefix_notif = oldcrste.s.fc1.prefix_notif; in _do_shadow_crste()
1492 newcrste.s.fc1.s = oldcrste.s.fc1.s; in _do_shadow_crste()
1495 } while (!_gmap_crstep_xchg_atomic(sg->parent, host, oldcrste, newcrste, f->gfn, false)); in _do_shadow_crste()
1499 newcrste = _crste_fc1(f->pfn, oldcrste.h.tt, 0, !p); in _do_shadow_crste()
H A Ddat.c1003 union crste newcrste, oldcrste; in dat_set_pn_crste() local
1007 oldcrste = READ_ONCE(*crstep); in dat_set_pn_crste()
1008 if (!oldcrste.h.fc || oldcrste.h.i || oldcrste.h.p) in dat_set_pn_crste()
1010 if (oldcrste.s.fc1.prefix_notif) in dat_set_pn_crste()
1012 newcrste = oldcrste; in dat_set_pn_crste()
1014 } while (!dat_crstep_xchg_atomic(crstep, oldcrste, newcrste, gfn, walk->asce)); in dat_set_pn_crste()
H A Ddat.h947 union crste oldcrste, empty = _CRSTE_EMPTY(crstep->h.tt); in dat_crstep_clear_atomic() local
950 oldcrste = READ_ONCE(*crstep); in dat_crstep_clear_atomic()
951 } while (!dat_crstep_xchg_atomic(crstep, oldcrste, empty, gfn, asce)); in dat_crstep_clear_atomic()
952 return oldcrste; in dat_crstep_clear_atomic()