Home
last modified time | relevance | path

Searched refs:newcrste (Results 1 – 4 of 4) 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
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
261 unsigned long align = is_pmd(newcrste) ? _PAGE_ENTRIES : _PAGE_ENTRIES * _CRST_ENTRIES; in _gmap_crstep_xchg_atomic()
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()
272 newcrste.s.fc1.prefix_notif = 0; in _gmap_crstep_xchg_atomic()
275 if (crste_leaf(oldcrste) && crste_needs_unshadow(oldcrste, newcrste)) { in _gmap_crstep_xchg_atomic()
276 newcrste.s.fc1.vsie_notif = 0; in _gmap_crstep_xchg_atomic()
282 if (!oldcrste.s.fc1.d && newcrste.s.fc1.d && !newcrste.s.fc1.s) in _gmap_crstep_xchg_atomic()
[all …]
H A Dgmap.c524 union crste newcrste, oldcrste = READ_ONCE(*f->crstep); in gmap_handle_minor_crste_fault() local
539 newcrste = oldcrste; in gmap_handle_minor_crste_fault()
540 newcrste.h.i = 0; in gmap_handle_minor_crste_fault()
541 newcrste.s.fc1.y = 1; in gmap_handle_minor_crste_fault()
543 newcrste.h.p = 0; in gmap_handle_minor_crste_fault()
544 newcrste.s.fc1.d = 1; in gmap_handle_minor_crste_fault()
545 newcrste.s.fc1.sd = 1; 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
737 newcrste = _crste_fc0(p_gfn, TABLE_TYPE_SEGMENT); in gmap_ucas_map_one()
[all …]
H A Dgaccess.c1468 union crste newcrste, oldcrste; in _do_shadow_crste() local
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()
1490 newcrste.s.fc1.vsie_notif = 1; 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()
1493 if (!newcrste.h.p && !f->writable) in _do_shadow_crste()
1495 } while (!_gmap_crstep_xchg_atomic(sg->parent, host, oldcrste, newcrste, f->gfn, false)); in _do_shadow_crste()
[all …]
H A Ddat.c1003 union crste newcrste, oldcrste; in dat_set_pn_crste() local
1012 newcrste = oldcrste; in dat_set_pn_crste()
1013 newcrste.s.fc1.prefix_notif = 1; in dat_set_pn_crste()
1014 } while (!dat_crstep_xchg_atomic(crstep, oldcrste, newcrste, gfn, walk->asce)); in dat_set_pn_crste()