alistair23-linux/arch/mips/mm
Paul Burton 00bf1c691d MIPS: tlbex: Avoid placing software PTE bits in Entry* PFN fields
Commit 748e787eb6 ("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: Paul 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: Ralf Baechle <ralf@linux-mips.org>
2015-11-11 08:35:36 +01:00
..
c-octeon.c
c-r3k.c
c-r4k.c MIPS: Add cases for CPU_I6400 2015-08-26 15:23:03 +02:00
c-tx39.c MIPS: tlb-r3k: Move CP0.Wired register initialisation to `tlb_init' 2015-06-21 21:52:41 +02:00
cache.c MIPS: Partially disable RIXI support. 2015-08-03 09:25:11 +02:00
cerr-sb1.c
cex-gen.S
cex-oct.S
cex-sb1.S
dma-default.c MIPS: dma-default: Fix 32-bit fall back to GFP_DMA 2015-09-30 16:27:39 +02:00
extable.c
fault.c MIPS: Set trap_no field in thread_struct on exception. 2015-09-03 12:08:04 +02:00
gup.c
highmem.c sched/preempt, mm/kmap: Explicitly disable/enable preemption in kmap_atomic_* 2015-05-19 08:39:14 +02:00
hugetlbpage.c mm/hugetlb: reduce arch dependent code about huge_pmd_unshare 2015-06-24 17:49:41 -07:00
init.c MIPS: Initialise MAARs on secondary CPUs 2015-09-27 14:15:26 +02:00
ioremap.c
Makefile MIPS: Allow L2 prefetch to be configured via debugfs 2015-10-26 09:49:42 +01:00
mmap.c mm: expose arch_mmap_rnd when available 2015-04-14 16:49:05 -07:00
page-funcs.S
page.c
pgtable-32.c
pgtable-64.c
sc-debugfs.c MIPS: Allow L2 prefetch to be configured via debugfs 2015-10-26 09:49:42 +01:00
sc-ip22.c
sc-mips.c MIPS: Enable L2 prefetching for CM >= 2.5 2015-10-26 09:49:41 +01:00
sc-r5k.c
sc-rm7k.c
tlb-funcs.S
tlb-r3k.c MIPS: Refactor dumping of TLB registers for r3k/r4k 2015-09-03 12:07:45 +02:00
tlb-r4k.c MIPS: BCM77xx: Remove legacy __cpuinit{,data} sections that crept in 2015-06-21 21:53:42 +02:00
tlb-r8k.c
tlbex-fault.S
tlbex.c MIPS: tlbex: Avoid placing software PTE bits in Entry* PFN fields 2015-11-11 08:35:36 +01:00
uasm-micromips.c
uasm-mips.c
uasm.c