|
@@ -102,7 +102,8 @@ BEGIN_FW_FTR_SECTION
|
|
/* if from user, see if there are any DTL entries to process */
|
|
/* if from user, see if there are any DTL entries to process */
|
|
ld r10,PACALPPACAPTR(r13) /* get ptr to VPA */
|
|
ld r10,PACALPPACAPTR(r13) /* get ptr to VPA */
|
|
ld r11,PACA_DTL_RIDX(r13) /* get log read index */
|
|
ld r11,PACA_DTL_RIDX(r13) /* get log read index */
|
|
- ld r10,LPPACA_DTLIDX(r10) /* get log write index */
|
|
|
|
|
|
+ addi r10,r10,LPPACA_DTLIDX
|
|
|
|
+ LDX_BE r10,0,r10 /* get log write index */
|
|
cmpd cr1,r11,r10
|
|
cmpd cr1,r11,r10
|
|
beq+ cr1,33f
|
|
beq+ cr1,33f
|
|
bl .accumulate_stolen_time
|
|
bl .accumulate_stolen_time
|
|
@@ -531,9 +532,11 @@ END_MMU_FTR_SECTION_IFSET(MMU_FTR_1T_SEGMENT)
|
|
*/
|
|
*/
|
|
ld r9,PACA_SLBSHADOWPTR(r13)
|
|
ld r9,PACA_SLBSHADOWPTR(r13)
|
|
li r12,0
|
|
li r12,0
|
|
- std r12,SLBSHADOW_STACKESID(r9) /* Clear ESID */
|
|
|
|
- std r7,SLBSHADOW_STACKVSID(r9) /* Save VSID */
|
|
|
|
- std r0,SLBSHADOW_STACKESID(r9) /* Save ESID */
|
|
|
|
|
|
+ std r12,SLBSHADOW_STACKESID(r9) /* Clear ESID */
|
|
|
|
+ li r12,SLBSHADOW_STACKVSID
|
|
|
|
+ STDX_BE r7,r12,r9 /* Save VSID */
|
|
|
|
+ li r12,SLBSHADOW_STACKESID
|
|
|
|
+ STDX_BE r0,r12,r9 /* Save ESID */
|
|
|
|
|
|
/* No need to check for MMU_FTR_NO_SLBIE_B here, since when
|
|
/* No need to check for MMU_FTR_NO_SLBIE_B here, since when
|
|
* we have 1TB segments, the only CPUs known to have the errata
|
|
* we have 1TB segments, the only CPUs known to have the errata
|