Commit 6d7c4662 authored by Jimi Xenidis's avatar Jimi Xenidis Committed by Paul Mackerras

[POWERPC] Don't access HID registers if running on a Hypervisor.

The following patch avoids accessing Hypervisor privilege HID
registers when running on a Hypervisor (MSR[HV]=0).
Signed-off-by: default avatarJimi Xenidis <jimix@watson.ibm.com>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent 70c3967d
...@@ -125,7 +125,12 @@ _GLOBAL(__save_cpu_setup) ...@@ -125,7 +125,12 @@ _GLOBAL(__save_cpu_setup)
cmpwi r0,0x44 cmpwi r0,0x44
bne 2f bne 2f
1: /* Save HID0,1,4 and 5 */ 1: /* skip if not running in HV mode */
mfmsr r0
rldicl. r0,r0,4,63
beq 2f
/* Save HID0,1,4 and 5 */
mfspr r3,SPRN_HID0 mfspr r3,SPRN_HID0
std r3,CS_HID0(r5) std r3,CS_HID0(r5)
mfspr r3,SPRN_HID1 mfspr r3,SPRN_HID1
...@@ -159,7 +164,12 @@ _GLOBAL(__restore_cpu_setup) ...@@ -159,7 +164,12 @@ _GLOBAL(__restore_cpu_setup)
cmpwi r0,0x44 cmpwi r0,0x44
bnelr bnelr
1: /* Before accessing memory, we make sure rm_ci is clear */ 1: /* skip if not running in HV mode */
mfmsr r0
rldicl. r0,r0,4,63
beqlr
/* Before accessing memory, we make sure rm_ci is clear */
li r0,0 li r0,0
mfspr r3,SPRN_HID4 mfspr r3,SPRN_HID4
rldimi r3,r0,40,23 /* clear bit 23 (rm_ci) */ rldimi r3,r0,40,23 /* clear bit 23 (rm_ci) */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment