summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/cpu_setup_power4.S
diff options
context:
space:
mode:
authorJimi Xenidis2006-06-22 01:15:55 +0200
committerPaul Mackerras2006-06-28 03:51:12 +0200
commit6d7c466292fc7c90bb160c1c7df74035c7c12595 (patch)
treeea1def4bb391060da2a3c4ebad9e3ad281f8a09e /arch/powerpc/kernel/cpu_setup_power4.S
parent[POWERPC] Convert powermac ide blink to new led infrastructure (diff)
downloadkernel-qcow2-linux-6d7c466292fc7c90bb160c1c7df74035c7c12595.tar.gz
kernel-qcow2-linux-6d7c466292fc7c90bb160c1c7df74035c7c12595.tar.xz
kernel-qcow2-linux-6d7c466292fc7c90bb160c1c7df74035c7c12595.zip
[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>
Diffstat (limited to 'arch/powerpc/kernel/cpu_setup_power4.S')
-rw-r--r--arch/powerpc/kernel/cpu_setup_power4.S14
1 files changed, 12 insertions, 2 deletions
diff --git a/arch/powerpc/kernel/cpu_setup_power4.S b/arch/powerpc/kernel/cpu_setup_power4.S
index 271418308d53..1fc863261003 100644
--- a/arch/powerpc/kernel/cpu_setup_power4.S
+++ b/arch/powerpc/kernel/cpu_setup_power4.S
@@ -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) */