Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

[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
Loading
Loading
Loading
Loading
+12 −2
Original line number Diff line number Diff line
@@ -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) */