MIPS: Rearrange PTE bits into fixed positions.
authorSteven J. Hill <Steven.Hill@imgtec.com>
Fri, 27 Feb 2015 00:16:37 +0000 (18:16 -0600)
committerRalf Baechle <ralf@linux-mips.org>
Wed, 18 Mar 2015 15:19:35 +0000 (16:19 +0100)
commitbe0c37c985eddc46d0d67543898c086f60460e2e
treeac11320b12f980d1b97eee052de84f86917f8e36
parent9eccca0843205f87c00404b663188b88eb248051
MIPS: Rearrange PTE bits into fixed positions.

This patch rearranges the PTE bits into fixed positions for R2
and later cores. In the past, the TLB handling code did runtime
checking of RI/XI and adjusted the shifts and rotates in order
to fit the largest PFN value into the PTE. The checking now
occurs when building the TLB handler, thus eliminating those
checks. These new arrangements also define the largest possible
PFN value that can fit in the PTE. HUGE page support is only
available for 64-bit cores. Layouts of the PTE bits are now:

   64-bit, R1 or earlier:     CCC D V G [S H] M A W R P
   32-bit, R1 or earler:      CCC D V G M A W R P
   64-bit, R2 or later:       CCC D V G RI/R XI [S H] M A W P
   32-bit, R2 or later:       CCC D V G RI/R XI M A W P

[ralf@linux-mips.org: Fix another build error *rant* *rant*]

Signed-off-by: Steven J. Hill <Steven.Hill@imgtec.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/9353/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/include/asm/pgtable-bits.h
arch/mips/include/asm/pgtable.h
arch/mips/mm/tlbex.c