linux_dsm_epyc7002/arch/powerpc/mm/nohash
Christophe Leroy 2c74e2586b powerpc/40x: Rework 40x PTE access and TLB miss
Commit 1bc54c0311 ("powerpc: rework 4xx PTE access and TLB miss")
reworked 44x PTE access to avoid atomic pte updates, and
left 8xx, 40x and fsl booke with atomic pte updates.
Commit 6cfd8990e2 ("powerpc: rework FSL Book-E PTE access and TLB
miss") removed atomic pte updates on fsl booke.
It went away on 8xx with commit ddfc20a3b9 ("powerpc/8xx: Remove
PTE_ATOMIC_UPDATES").

40x is the last platform setting PTE_ATOMIC_UPDATES.

Rework PTE access and TLB miss to remove PTE_ATOMIC_UPDATES for 40x:
- Always handle DSI as a fault.
- Bail out of TLB miss handler when CONFIG_SWAP is set and
_PAGE_ACCESSED is not set.
- Bail out of ITLB miss handler when _PAGE_EXEC is not set.
- Only set WR bit when both _PAGE_RW and _PAGE_DIRTY are set.
- Remove _PAGE_HWWRITE
- Don't require PTE_ATOMIC_UPDATES anymore

Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/99a0fcd337ef67088140d1647d75fea026a70413.1590079968.git.christophe.leroy@csgroup.eu
2020-05-28 23:24:34 +10:00
..
8xx.c powerpc/8xx: Allow large TLBs with DEBUG_PAGEALLOC 2020-05-26 22:22:23 +10:00
40x.c powerpc/40x: Rework 40x PTE access and TLB miss 2020-05-28 23:24:34 +10:00
44x.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
book3e_hugetlbpage.c powerpc/mm: move FSL_BOOK3 version of update_mmu_cache() 2019-08-20 21:22:14 +10:00
book3e_pgtable.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
fsl_booke.c powerpc/fsl_booke/kaslr: clear the original kernel if randomized 2019-11-13 19:27:44 +11:00
kaslr_booke.c powerpc/fsl_booke/kaslr: support nokaslr cmdline parameter 2019-11-13 19:27:47 +11:00
Makefile powerpc/fsl_booke/32: implement KASLR infrastructure 2019-11-13 19:27:40 +11:00
mmu_context.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
tlb_low_64e.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
tlb_low.S powerpc/fsl_booke: Avoid creating duplicate tlb1 entry 2020-03-17 23:40:35 +11:00
tlb.c powerpc/mm: make ioremap_bot common to all 2019-08-27 13:03:34 +10:00