[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: Jimi Xenidis <jimix@watson.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
parent
70c3967d4f
commit
6d7c466292
|
@ -125,7 +125,12 @@ _GLOBAL(__save_cpu_setup)
|
|||
cmpwi r0,0x44
|
||||
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
|
||||
std r3,CS_HID0(r5)
|
||||
mfspr r3,SPRN_HID1
|
||||
|
@ -159,7 +164,12 @@ _GLOBAL(__restore_cpu_setup)
|
|||
cmpwi r0,0x44
|
||||
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
|
||||
mfspr r3,SPRN_HID4
|
||||
rldimi r3,r0,40,23 /* clear bit 23 (rm_ci) */
|
||||
|
|
Loading…
Reference in New Issue