mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-17 06:08:52 +07:00
powerpc/603: Don't worry about _PAGE_USER in TLB miss handlers
PP bits take user access into account, so no need to check _PAGE_USER here. A DSI or ISI will be generated if needed. Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
parent
f8b58c64ea
commit
451b3ec082
@ -503,11 +503,9 @@ InstructionTLBMiss:
|
||||
cmplw 0,r1,r3
|
||||
#endif
|
||||
mfspr r2, SPRN_SPRG_PGDIR
|
||||
li r1,_PAGE_USER|_PAGE_PRESENT|_PAGE_EXEC /* low addresses tested as user */
|
||||
li r1,_PAGE_PRESENT | _PAGE_EXEC
|
||||
#if defined(CONFIG_MODULES) || defined(CONFIG_DEBUG_PAGEALLOC)
|
||||
bge- 112f
|
||||
mfspr r2,SPRN_SRR1 /* and MSR_PR bit from SRR1 */
|
||||
rlwimi r1,r2,32-12,29,29 /* shift MSR_PR to _PAGE_USER posn */
|
||||
lis r2, (swapper_pg_dir - PAGE_OFFSET)@ha /* if kernel address, use */
|
||||
addi r2, r2, (swapper_pg_dir - PAGE_OFFSET)@l /* kernel page table */
|
||||
#endif
|
||||
@ -573,10 +571,8 @@ DataLoadTLBMiss:
|
||||
lis r1,PAGE_OFFSET@h /* check if kernel address */
|
||||
cmplw 0,r1,r3
|
||||
mfspr r2, SPRN_SPRG_PGDIR
|
||||
li r1,_PAGE_USER|_PAGE_PRESENT /* low addresses tested as user */
|
||||
li r1, _PAGE_PRESENT
|
||||
bge- 112f
|
||||
mfspr r2,SPRN_SRR1 /* and MSR_PR bit from SRR1 */
|
||||
rlwimi r1,r2,32-12,29,29 /* shift MSR_PR to _PAGE_USER posn */
|
||||
lis r2, (swapper_pg_dir - PAGE_OFFSET)@ha /* if kernel address, use */
|
||||
addi r2, r2, (swapper_pg_dir - PAGE_OFFSET)@l /* kernel page table */
|
||||
112: rlwimi r2,r3,12,20,29 /* insert top 10 bits of address */
|
||||
@ -653,10 +649,8 @@ DataStoreTLBMiss:
|
||||
lis r1,PAGE_OFFSET@h /* check if kernel address */
|
||||
cmplw 0,r1,r3
|
||||
mfspr r2, SPRN_SPRG_PGDIR
|
||||
li r1,_PAGE_RW|_PAGE_USER|_PAGE_PRESENT /* access flags */
|
||||
li r1, _PAGE_RW | _PAGE_PRESENT /* access flags */
|
||||
bge- 112f
|
||||
mfspr r2,SPRN_SRR1 /* and MSR_PR bit from SRR1 */
|
||||
rlwimi r1,r2,32-12,29,29 /* shift MSR_PR to _PAGE_USER posn */
|
||||
lis r2, (swapper_pg_dir - PAGE_OFFSET)@ha /* if kernel address, use */
|
||||
addi r2, r2, (swapper_pg_dir - PAGE_OFFSET)@l /* kernel page table */
|
||||
112: rlwimi r2,r3,12,20,29 /* insert top 10 bits of address */
|
||||
|
Loading…
Reference in New Issue
Block a user