LinuxPPC-Dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Don't access HID registers if running on a Hypervisor.
@ 2006-06-21 23:15 Jimi Xenidis
  2006-06-21 23:51 ` Olof Johansson
  2006-06-21 23:58 ` Paul Mackerras
  0 siblings, 2 replies; 8+ messages in thread
From: Jimi Xenidis @ 2006-06-21 23:15 UTC (permalink / raw)
  To: linuxppc-dev


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>


diff -r 87d019e8edc2 arch/powerpc/kernel/cpu_setup_power4.S
--- a/arch/powerpc/kernel/cpu_setup_power4.S	Tue Jun 20 13:50:49 2006 -0400
+++ b/arch/powerpc/kernel/cpu_setup_power4.S	Wed Jun 21 19:10:22 2006 -0400
@@ -149,7 +149,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
@@ -183,7 +188,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) */

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2006-06-22 17:23 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-06-21 23:15 [PATCH] Don't access HID registers if running on a Hypervisor Jimi Xenidis
2006-06-21 23:51 ` Olof Johansson
2006-06-22 10:58   ` Jimi Xenidis
2006-06-22 12:09     ` Benjamin Herrenschmidt
2006-06-21 23:58 ` Paul Mackerras
2006-06-22  2:35   ` Jimi Xenidis
2006-06-22 16:23     ` Olof Johansson
2006-06-22 17:22       ` Jimi Xenidis

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox