aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2010-03-24 16:48:33 -0400
committerAvi Kivity <avi@redhat.com>2010-05-17 05:17:15 -0400
commitbd7cdbb7fcd135a399ebb855dc9106747ee2e6ba (patch)
treed0816eab67fb642dfab5597bd9f797c4078af05b /arch/powerpc
parent9fb244a2c215d1e16ee92cb164b7b61c8dfa3909 (diff)
KVM: PPC: Add emulation for dcba
Mac OS X uses the dcba instruction. According to the specification it doesn't guarantee any functionality, so let's just emulate it as nop. Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/kvm/book3s_64_emulate.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/powerpc/kvm/book3s_64_emulate.c b/arch/powerpc/kvm/book3s_64_emulate.c
index bbd15906900d..8f50776a9a1d 100644
--- a/arch/powerpc/kvm/book3s_64_emulate.c
+++ b/arch/powerpc/kvm/book3s_64_emulate.c
@@ -37,6 +37,7 @@
37#define OP_31_XOP_SLBIA 498 37#define OP_31_XOP_SLBIA 498
38#define OP_31_XOP_MFSR 595 38#define OP_31_XOP_MFSR 595
39#define OP_31_XOP_MFSRIN 659 39#define OP_31_XOP_MFSRIN 659
40#define OP_31_XOP_DCBA 758
40#define OP_31_XOP_SLBMFEV 851 41#define OP_31_XOP_SLBMFEV 851
41#define OP_31_XOP_EIOIO 854 42#define OP_31_XOP_EIOIO 854
42#define OP_31_XOP_SLBMFEE 915 43#define OP_31_XOP_SLBMFEE 915
@@ -183,6 +184,9 @@ int kvmppc_core_emulate_op(struct kvm_run *run, struct kvm_vcpu *vcpu,
183 kvmppc_set_gpr(vcpu, get_rt(inst), t); 184 kvmppc_set_gpr(vcpu, get_rt(inst), t);
184 } 185 }
185 break; 186 break;
187 case OP_31_XOP_DCBA:
188 /* Gets treated as NOP */
189 break;
186 case OP_31_XOP_DCBZ: 190 case OP_31_XOP_DCBZ:
187 { 191 {
188 ulong rb = kvmppc_get_gpr(vcpu, get_rb(inst)); 192 ulong rb = kvmppc_get_gpr(vcpu, get_rb(inst));