|
@@ -511,7 +511,7 @@ InstructionTLBMiss:
|
|
|
and r1,r1,r2 /* writable if _RW and _DIRTY */
|
|
|
rlwimi r3,r3,32-1,30,30 /* _PAGE_USER -> PP msb */
|
|
|
rlwimi r3,r3,32-1,31,31 /* _PAGE_USER -> PP lsb */
|
|
|
- ori r1,r1,0xe14 /* clear out reserved bits and M */
|
|
|
+ ori r1,r1,0xe04 /* clear out reserved bits */
|
|
|
andc r1,r3,r1 /* PP = user? (rw&dirty? 2: 3): 0 */
|
|
|
mtspr SPRN_RPA,r1
|
|
|
mfspr r3,SPRN_IMISS
|
|
@@ -585,7 +585,7 @@ DataLoadTLBMiss:
|
|
|
and r1,r1,r2 /* writable if _RW and _DIRTY */
|
|
|
rlwimi r3,r3,32-1,30,30 /* _PAGE_USER -> PP msb */
|
|
|
rlwimi r3,r3,32-1,31,31 /* _PAGE_USER -> PP lsb */
|
|
|
- ori r1,r1,0xe14 /* clear out reserved bits and M */
|
|
|
+ ori r1,r1,0xe04 /* clear out reserved bits */
|
|
|
andc r1,r3,r1 /* PP = user? (rw&dirty? 2: 3): 0 */
|
|
|
mtspr SPRN_RPA,r1
|
|
|
mfspr r3,SPRN_DMISS
|
|
@@ -653,7 +653,7 @@ DataStoreTLBMiss:
|
|
|
stw r3,0(r2) /* update PTE (accessed/dirty bits) */
|
|
|
/* Convert linux-style PTE to low word of PPC-style PTE */
|
|
|
rlwimi r3,r3,32-1,30,30 /* _PAGE_USER -> PP msb */
|
|
|
- li r1,0xe15 /* clear out reserved bits and M */
|
|
|
+ li r1,0xe05 /* clear out reserved bits & PP lsb */
|
|
|
andc r1,r3,r1 /* PP = user? 2: 0 */
|
|
|
mtspr SPRN_RPA,r1
|
|
|
mfspr r3,SPRN_DMISS
|