summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorMihai Caraman <mihai.caraman@freescale.com>2013-09-12 15:01:32 (GMT)
committerRivera Jose-B46482 <German.Rivera@freescale.com>2013-09-12 20:46:42 (GMT)
commit4e8d900975c1f2ddab903ad103af92f56de678c1 (patch)
treee3dc429a74e131d1657863e53b91806b10f69a6b /arch
parentcf41f28c197342f10da49d5b71dec498b3434bc5 (diff)
downloadlinux-fsl-qoriq-4e8d900975c1f2ddab903ad103af92f56de678c1.tar.xz
KVM: PPC: e500: Emulate power management control SPR
e6500 rev2 Linux guest uses power management SPR to enable idle power down for a core and its devices setting up the idle count period at boot time. The host already controls the power management configuration and the guest will benefit from them, so emulate the guest requests as a nop. Signed-off-by: Mihai Caraman <mihai.caraman@freescale.com> Change-Id: Ic6be4493d89c82760500f21318ae326cabb74107 Reviewed-on: http://git.am.freescale.net:8181/4701 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Wood Scott-B07421 <scottwood@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/kvm/e500_emulate.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/powerpc/kvm/e500_emulate.c b/arch/powerpc/kvm/e500_emulate.c
index fcbfde9..a3ac4fd 100644
--- a/arch/powerpc/kvm/e500_emulate.c
+++ b/arch/powerpc/kvm/e500_emulate.c
@@ -228,6 +228,10 @@ int kvmppc_core_emulate_mtspr(struct kvm_vcpu *vcpu, int sprn, ulong spr_val)
spr_val);
break;
+ case SPR_PWRMGTCR0:
+ /* Guest relies on host power management configurations */
+ break;
+
/* extra exceptions */
case SPRN_IVOR32:
vcpu->arch.ivor[BOOKE_IRQPRIO_SPE_UNAVAIL] = spr_val;
@@ -335,6 +339,10 @@ int kvmppc_core_emulate_mfspr(struct kvm_vcpu *vcpu, int sprn, ulong *spr_val)
*spr_val = 0;
break;
+ case SPR_PWRMGTCR0:
+ *spr_val = 0;
+ break;
+
case SPRN_MMUCFG:
*spr_val = vcpu->arch.mmucfg;
break;