|
@@ -27,6 +27,7 @@ _GLOBAL(__setup_cpu_power7)
|
|
|
beqlr
|
|
|
li r0,0
|
|
|
mtspr SPRN_LPID,r0
|
|
|
+ mfspr r3,SPRN_LPCR
|
|
|
bl __init_LPCR
|
|
|
bl __init_TLB
|
|
|
mtlr r11
|
|
@@ -39,6 +40,7 @@ _GLOBAL(__restore_cpu_power7)
|
|
|
beqlr
|
|
|
li r0,0
|
|
|
mtspr SPRN_LPID,r0
|
|
|
+ mfspr r3,SPRN_LPCR
|
|
|
bl __init_LPCR
|
|
|
bl __init_TLB
|
|
|
mtlr r11
|
|
@@ -51,6 +53,7 @@ _GLOBAL(__setup_cpu_power8)
|
|
|
beqlr
|
|
|
li r0,0
|
|
|
mtspr SPRN_LPID,r0
|
|
|
+ mfspr r3,SPRN_LPCR
|
|
|
bl __init_LPCR
|
|
|
bl __init_TLB
|
|
|
mtlr r11
|
|
@@ -63,6 +66,7 @@ _GLOBAL(__restore_cpu_power8)
|
|
|
beqlr
|
|
|
li r0,0
|
|
|
mtspr SPRN_LPID,r0
|
|
|
+ mfspr r3,SPRN_LPCR
|
|
|
bl __init_LPCR
|
|
|
bl __init_TLB
|
|
|
mtlr r11
|
|
@@ -81,6 +85,7 @@ __init_hvmode_206:
|
|
|
|
|
|
__init_LPCR:
|
|
|
/* Setup a sane LPCR:
|
|
|
+ * Called with initial LPCR in R3
|
|
|
*
|
|
|
* LPES = 0b01 (HSRR0/1 used for 0x500)
|
|
|
* PECE = 0b111
|
|
@@ -91,7 +96,6 @@ __init_LPCR:
|
|
|
*
|
|
|
* Other bits untouched for now
|
|
|
*/
|
|
|
- mfspr r3,SPRN_LPCR
|
|
|
li r5,1
|
|
|
rldimi r3,r5, LPCR_LPES_SH, 64-LPCR_LPES_SH-2
|
|
|
ori r3,r3,(LPCR_PECE0|LPCR_PECE1|LPCR_PECE2)
|