Only update pte w.r.t ACCESSED if it isn't already set Signed-off-by: Joakim Tjernlund <joakim.tjernl...@transmode.se> --- arch/ppc/kernel/head_8xx.S | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/arch/ppc/kernel/head_8xx.S b/arch/ppc/kernel/head_8xx.S index 5dbbdb4..75acaa0 100644 --- a/arch/ppc/kernel/head_8xx.S +++ b/arch/ppc/kernel/head_8xx.S @@ -376,8 +376,12 @@ InstructionTLBMiss: #if 1 /* if !swap, you can delete this */ + andi. r21, r20, _PAGE_ACCESSED /* test ACCESSED bit */ + bne+ 4f /* Branch if set */ + mfspr r21, MD_TWC /* get the pte address */ rlwimi r20, r20, 5, _PAGE_PRESENT<<5 /* Copy PRESENT to ACCESSED */ stw r20, 0(r21) /* Update pte */ +4: #endif /* The Linux PTE won't go exactly into the MMU TLB. * Software indicator bits 21 and 28 must be clear. @@ -449,9 +453,12 @@ DataStoreTLBMiss: #if 1 /* if !swap, you can delete this */ + andi. r21, r20, _PAGE_ACCESSED /* test ACCESSED bit */ + bne+ 4f /* Branch if set */ mfspr r21, MD_TWC /* get the pte address */ rlwimi r20, r20, 5, _PAGE_PRESENT<<5 /* Copy PRESENT to ACCESSED */ stw r20, 0(r21) /* Update pte */ +4: #endif /* Honour kernel RO, User NA */ -- 1.7.3.4 _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev