• James Hogan's avatar
    MIPS: tlbex: Fix broken offsets on r2 without XPA · a3ae565a
    James Hogan authored
    Commit c5b36783 ("MIPS: Add support for XPA.") changed
    build_pte_present() and build_pte_writable() to assume a constant offset
    of _PAGE_READ and _PAGE_WRITE relative to _PAGE_PRESENT, however this is
    no longer true for some MIPS32R2 builds since commit be0c37c9
    ("MIPS: Rearrange PTE bits into fixed positions.") which moved the
    _PAGE_READ PTE bit away from the _PAGE_PRESENT bit, with the _PAGE_WRITE
    bit falling into its place.
    
    Make use of the _PAGE_READ and _PAGE_WRITE definitions to calculate the
    correct mask to apply instead of hard coding 3 (for _PAGE_PRESENT |
    _PAGE_READ) or 5 (for _PAGE_PRESENT | _PAGE_WRITE).
    
    Fixes: c5b36783 ("MIPS: Add support for XPA.")
    Signed-off-by: default avatarJames Hogan <james.hogan@imgtec.com>
    Cc: Steven J. Hill <Steven.Hill@imgtec.com>
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/9888/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
    a3ae565a
tlbex.c 64.8 KB