_PAGE_SOFT_DIRTY
_PAGE_SOFT_DIRTY | _PFN_MASK | \
pte_val(pte) |= _PAGE_MODIFIED | _PAGE_SOFT_DIRTY;
return pte_val(pte) & _PAGE_SOFT_DIRTY;
pte_val(pte) |= _PAGE_SOFT_DIRTY;
pte_val(pte) &= ~(_PAGE_SOFT_DIRTY);
pmd_val(pmd) |= _PAGE_MODIFIED | _PAGE_SOFT_DIRTY;
return !!(pmd_val(pmd) & _PAGE_SOFT_DIRTY);
pmd_val(pmd) |= _PAGE_SOFT_DIRTY;
pmd_val(pmd) &= ~(_PAGE_SOFT_DIRTY);
_PAGE_EXEC | _PAGE_SOFT_DIRTY);
_PAGE_SOFT_DIRTY)
_PAGE_SOFT_DIRTY)
return !!(pte_raw(pte) & cpu_to_be64(_PAGE_SOFT_DIRTY));
return __pte_raw(pte_raw(pte) | cpu_to_be64(_PAGE_SOFT_DIRTY));
return __pte_raw(pte_raw(pte) & cpu_to_be64(~_PAGE_SOFT_DIRTY));
return __pte_raw(pte_raw(pte) | cpu_to_be64(_PAGE_DIRTY | _PAGE_SOFT_DIRTY));
#define _PAGE_SWP_SOFT_DIRTY _PAGE_SOFT_DIRTY
unsigned long set = pte_val(entry) & (_PAGE_DIRTY | _PAGE_SOFT_DIRTY |
return __pte(pte_val(pte) | _PAGE_DIRTY | _PAGE_SOFT_DIRTY);
return !!(pte_val(pte) & _PAGE_SOFT_DIRTY);
return __pte(pte_val(pte) | _PAGE_SOFT_DIRTY);
return __pte(pte_val(pte) & ~(_PAGE_SOFT_DIRTY));
pte = set_pte_bit(pte, __pgprot(_PAGE_DIRTY | _PAGE_SOFT_DIRTY));
_PAGE_YOUNG | _PAGE_SOFT_DIRTY)
return pte_val(pte) & _PAGE_SOFT_DIRTY;
return set_pte_bit(pte, __pgprot(_PAGE_SOFT_DIRTY));
return clear_pte_bit(pte, __pgprot(_PAGE_SOFT_DIRTY));
pteval |= move_set_bit(rste, _SEGMENT_ENTRY_SOFT_DIRTY, _PAGE_SOFT_DIRTY);
rste |= move_set_bit(pte_val(pte), _PAGE_SOFT_DIRTY,
pte = pte_set_flags(pte, _PAGE_DIRTY | _PAGE_SOFT_DIRTY);
pmd = pmd_set_flags(pmd, _PAGE_DIRTY | _PAGE_SOFT_DIRTY);
pud = pud_set_flags(pud, _PAGE_DIRTY | _PAGE_SOFT_DIRTY);
return pte_flags(pte) & _PAGE_SOFT_DIRTY;
return pmd_flags(pmd) & _PAGE_SOFT_DIRTY;
return pud_flags(pud) & _PAGE_SOFT_DIRTY;
return pte_set_flags(pte, _PAGE_SOFT_DIRTY);
return pmd_set_flags(pmd, _PAGE_SOFT_DIRTY);
return pud_set_flags(pud, _PAGE_SOFT_DIRTY);
return pte_clear_flags(pte, _PAGE_SOFT_DIRTY);
return pmd_clear_flags(pmd, _PAGE_SOFT_DIRTY);
return pud_clear_flags(pud, _PAGE_SOFT_DIRTY);
_PAGE_DIRTY_BITS | _PAGE_SOFT_DIRTY | \