summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Wood <scottwood@freescale.com>2013-04-15 15:07:11 +0000
committerAlexander Graf <agraf@suse.de>2013-04-17 15:21:16 +0200
commitbe28a27c993ca6f806145d02dbe493baac83a8e9 (patch)
treed6b63bf3772faef4f0b41762ad792589f301ba87
parentc32498ee64165cfcbcac9c4318d537c97fd66428 (diff)
downloadlinux-be28a27c993ca6f806145d02dbe493baac83a8e9.tar.gz
linux-be28a27c993ca6f806145d02dbe493baac83a8e9.tar.bz2
linux-be28a27c993ca6f806145d02dbe493baac83a8e9.zip
kvm/ppc: don't call complete_mmio_load when it's a store
complete_mmio_load writes back the mmio result into the destination register. Doing this on a store results in register corruption. Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Alexander Graf <agraf@suse.de>
-rw-r--r--arch/powerpc/kvm/powerpc.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c
index 16b45954511c..a822659db50a 100644
--- a/arch/powerpc/kvm/powerpc.c
+++ b/arch/powerpc/kvm/powerpc.c
@@ -683,7 +683,6 @@ int kvmppc_handle_store(struct kvm_run *run, struct kvm_vcpu *vcpu,
if (!kvm_io_bus_write(vcpu->kvm, KVM_MMIO_BUS, run->mmio.phys_addr,
bytes, &run->mmio.data)) {
- kvmppc_complete_mmio_load(vcpu, run);
vcpu->mmio_needed = 0;
return EMULATE_DONE;
}