summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kvm/booke_emulate.c
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2012-08-13 14:50:54 +0200
committerAlexander Graf <agraf@suse.de>2012-10-05 23:38:48 +0200
commit50c871edf59b4585fd2c17acfe4e7cd3752418b7 (patch)
tree756a74415eb506a6f8137730a4a9e23f0e257ab0 /arch/powerpc/kvm/booke_emulate.c
parentKVM: PPC: 44x: Initialize PVR (diff)
downloadlinux-50c871edf59b4585fd2c17acfe4e7cd3752418b7.tar.xz
linux-50c871edf59b4585fd2c17acfe4e7cd3752418b7.zip
KVM: PPC: BookE: Add MCSR SPR support
Add support for the MCSR SPR. This only implements the SPR storage bits, not actual machine checks. Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to '')
-rw-r--r--arch/powerpc/kvm/booke_emulate.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/powerpc/kvm/booke_emulate.c b/arch/powerpc/kvm/booke_emulate.c
index cc99a0b3d202..514790f41aba 100644
--- a/arch/powerpc/kvm/booke_emulate.c
+++ b/arch/powerpc/kvm/booke_emulate.c
@@ -237,6 +237,9 @@ int kvmppc_booke_emulate_mtspr(struct kvm_vcpu *vcpu, int sprn, ulong spr_val)
case SPRN_IVOR15:
vcpu->arch.ivor[BOOKE_IRQPRIO_DEBUG] = spr_val;
break;
+ case SPRN_MCSR:
+ vcpu->arch.mcsr &= ~spr_val;
+ break;
default:
emulated = EMULATE_FAIL;
@@ -329,6 +332,9 @@ int kvmppc_booke_emulate_mfspr(struct kvm_vcpu *vcpu, int sprn, ulong *spr_val)
case SPRN_IVOR15:
*spr_val = vcpu->arch.ivor[BOOKE_IRQPRIO_DEBUG];
break;
+ case SPRN_MCSR:
+ *spr_val = vcpu->arch.mcsr;
+ break;
default:
emulated = EMULATE_FAIL;