|
@@ -28,6 +28,7 @@ _GLOBAL(__setup_cpu_power7)
|
|
|
beqlr
|
|
|
li r0,0
|
|
|
mtspr SPRN_LPID,r0
|
|
|
+ mtspr SPRN_PCR,r0
|
|
|
mfspr r3,SPRN_LPCR
|
|
|
li r4,(LPCR_LPES1 >> LPCR_LPES_SH)
|
|
|
bl __init_LPCR_ISA206
|
|
@@ -41,6 +42,7 @@ _GLOBAL(__restore_cpu_power7)
|
|
|
beqlr
|
|
|
li r0,0
|
|
|
mtspr SPRN_LPID,r0
|
|
|
+ mtspr SPRN_PCR,r0
|
|
|
mfspr r3,SPRN_LPCR
|
|
|
li r4,(LPCR_LPES1 >> LPCR_LPES_SH)
|
|
|
bl __init_LPCR_ISA206
|
|
@@ -57,6 +59,7 @@ _GLOBAL(__setup_cpu_power8)
|
|
|
beqlr
|
|
|
li r0,0
|
|
|
mtspr SPRN_LPID,r0
|
|
|
+ mtspr SPRN_PCR,r0
|
|
|
mfspr r3,SPRN_LPCR
|
|
|
ori r3, r3, LPCR_PECEDH
|
|
|
li r4,0 /* LPES = 0 */
|
|
@@ -78,6 +81,7 @@ _GLOBAL(__restore_cpu_power8)
|
|
|
beqlr
|
|
|
li r0,0
|
|
|
mtspr SPRN_LPID,r0
|
|
|
+ mtspr SPRN_PCR,r0
|
|
|
mfspr r3,SPRN_LPCR
|
|
|
ori r3, r3, LPCR_PECEDH
|
|
|
li r4,0 /* LPES = 0 */
|
|
@@ -99,6 +103,7 @@ _GLOBAL(__setup_cpu_power9)
|
|
|
mtspr SPRN_PSSCR,r0
|
|
|
mtspr SPRN_LPID,r0
|
|
|
mtspr SPRN_PID,r0
|
|
|
+ mtspr SPRN_PCR,r0
|
|
|
mfspr r3,SPRN_LPCR
|
|
|
LOAD_REG_IMMEDIATE(r4, LPCR_PECEDH | LPCR_PECE_HVEE | LPCR_HVICE | LPCR_HEIC)
|
|
|
or r3, r3, r4
|
|
@@ -123,6 +128,7 @@ _GLOBAL(__restore_cpu_power9)
|
|
|
mtspr SPRN_PSSCR,r0
|
|
|
mtspr SPRN_LPID,r0
|
|
|
mtspr SPRN_PID,r0
|
|
|
+ mtspr SPRN_PCR,r0
|
|
|
mfspr r3,SPRN_LPCR
|
|
|
LOAD_REG_IMMEDIATE(r4, LPCR_PECEDH | LPCR_PECE_HVEE | LPCR_HVICE | LPCR_HEIC)
|
|
|
or r3, r3, r4
|