diff options
-rw-r--r-- | arch/powerpc/kvm/book3s_64_emulate.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/powerpc/kvm/book3s_64_emulate.c b/arch/powerpc/kvm/book3s_64_emulate.c index bb4a7c1f8f05..e4e7ec318eb0 100644 --- a/arch/powerpc/kvm/book3s_64_emulate.c +++ b/arch/powerpc/kvm/book3s_64_emulate.c | |||
@@ -28,6 +28,7 @@ | |||
28 | #define OP_31_XOP_MFMSR 83 | 28 | #define OP_31_XOP_MFMSR 83 |
29 | #define OP_31_XOP_MTMSR 146 | 29 | #define OP_31_XOP_MTMSR 146 |
30 | #define OP_31_XOP_MTMSRD 178 | 30 | #define OP_31_XOP_MTMSRD 178 |
31 | #define OP_31_XOP_MTSR 210 | ||
31 | #define OP_31_XOP_MTSRIN 242 | 32 | #define OP_31_XOP_MTSRIN 242 |
32 | #define OP_31_XOP_TLBIEL 274 | 33 | #define OP_31_XOP_TLBIEL 274 |
33 | #define OP_31_XOP_TLBIE 306 | 34 | #define OP_31_XOP_TLBIE 306 |
@@ -101,6 +102,11 @@ int kvmppc_core_emulate_op(struct kvm_run *run, struct kvm_vcpu *vcpu, | |||
101 | } | 102 | } |
102 | break; | 103 | break; |
103 | } | 104 | } |
105 | case OP_31_XOP_MTSR: | ||
106 | vcpu->arch.mmu.mtsrin(vcpu, | ||
107 | (inst >> 16) & 0xf, | ||
108 | kvmppc_get_gpr(vcpu, get_rs(inst))); | ||
109 | break; | ||
104 | case OP_31_XOP_MTSRIN: | 110 | case OP_31_XOP_MTSRIN: |
105 | vcpu->arch.mmu.mtsrin(vcpu, | 111 | vcpu->arch.mmu.mtsrin(vcpu, |
106 | (kvmppc_get_gpr(vcpu, get_rb(inst)) >> 28) & 0xf, | 112 | (kvmppc_get_gpr(vcpu, get_rb(inst)) >> 28) & 0xf, |