]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - arch/s390/mm/hugetlbpage.c
s390/mm: implement soft-dirty bits for user memory change tracking
[karo-tx-linux.git] / arch / s390 / mm / hugetlbpage.c
index fb4bf2c4379e47585eac7ede67f0030cd701c1fa..f81096b6940d7bd5532b1eced955d5543eb90228 100644 (file)
@@ -40,6 +40,7 @@ static inline pmd_t __pte_to_pmd(pte_t pte)
                pmd_val(pmd) |= (pte_val(pte) & _PAGE_PROTECT);
                pmd_val(pmd) |= (pte_val(pte) & _PAGE_DIRTY) << 10;
                pmd_val(pmd) |= (pte_val(pte) & _PAGE_YOUNG) << 10;
+               pmd_val(pmd) |= (pte_val(pte) & _PAGE_SOFT_DIRTY) << 13;
        } else
                pmd_val(pmd) = _SEGMENT_ENTRY_INVALID;
        return pmd;
@@ -78,6 +79,7 @@ static inline pte_t __pmd_to_pte(pmd_t pmd)
                pte_val(pte) |= (pmd_val(pmd) & _SEGMENT_ENTRY_PROTECT);
                pte_val(pte) |= (pmd_val(pmd) & _SEGMENT_ENTRY_DIRTY) >> 10;
                pte_val(pte) |= (pmd_val(pmd) & _SEGMENT_ENTRY_YOUNG) >> 10;
+               pte_val(pte) |= (pmd_val(pmd) & _SEGMENT_ENTRY_SOFT_DIRTY) >> 13;
        } else
                pte_val(pte) = _PAGE_INVALID;
        return pte;