Skip to content
  • Paul Burton's avatar
    MIPS: tlbex: Avoid placing software PTE bits in Entry* PFN fields · 00bf1c69
    Paul Burton authored
    Commit 748e787e
    
     ("MIPS: Optimize TLB refill for RI/XI
    configurations.") stopped explicitly clearing the bits used by software
    in PTEs by making use of a rotate instruction that rotates them into the
    fill bits of the Entry{Lo,Hi} register. This can only work if there are
    actually enough fill bits in the register to cover the software
    maintained bits, otherwise we end up writing those bits into the upper
    bits of the PFN or PFNX field of the Entry{Lo,Hi} register.
    
    Fix this by detecting the number of fill bits present in the
    Entry{Lo,Hi} registers & explicitly clearing the software bits where
    necessary.
    
    Signed-off-by: default avatarPaul Burton <paul.burton@imgtec.com>
    Cc: linux-mips@linux-mips.org
    Cc: Steven J. Hill <Steven.Hill@imgtec.com>
    Cc: Leonid Yegoshin <Leonid.Yegoshin@imgtec.com>
    Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
    Cc: linux-kernel@vger.kernel.org
    Cc: James Hogan <james.hogan@imgtec.com>
    Cc: Markos Chandras <markos.chandras@imgtec.com>
    Patchwork: https://patchwork.linux-mips.org/patch/11218/
    
    
    Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
    00bf1c69