PTE_SW_MANAGED
_Static_assert(PTE_SW_MANAGED == RISCV_PTE_SW_MANAGED,
PTE_SW_MANAGED | PTE_SW_WIRED)
if ((oldl2 & PTE_SW_MANAGED) != 0) {
if (old_l3 & PTE_SW_MANAGED) {
(l2e & (PTE_SW_MANAGED | PTE_D)) ==
(PTE_SW_MANAGED | PTE_D)) {
(l3e & (PTE_SW_MANAGED | PTE_D)) ==
(PTE_SW_MANAGED | PTE_D)) {
KASSERT((oldl1 & PTE_SW_MANAGED) == 0,
if ((oldl2 & PTE_SW_MANAGED) != 0)
if ((oldl2 & PTE_SW_MANAGED) != 0)
if ((firstl3e & PTE_SW_MANAGED) != 0)
new_l3 |= PTE_SW_MANAGED;
if ((orig_l3 & PTE_SW_MANAGED) != 0 &&
if ((orig_l3 & PTE_SW_MANAGED) != 0) {
if ((new_l3 & PTE_SW_MANAGED) == 0)
if ((new_l3 & PTE_SW_MANAGED) != 0) {
if ((orig_l3 & (PTE_D | PTE_SW_MANAGED)) ==
(PTE_D | PTE_SW_MANAGED))
new_l2 |= PTE_SW_MANAGED;
if ((new_l2 & PTE_SW_MANAGED) != 0) {
newl3 |= PTE_SW_MANAGED;
managed = (tpte & PTE_SW_MANAGED) == PTE_SW_MANAGED;