When remembering the direction of a DCR transaction, we should write
to the same variable that we interpret on later when doing vcpu_run
again.

Signed-off-by: Alexander Graf <ag...@suse.de>
---
 arch/powerpc/kvm/44x_emulate.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/arch/powerpc/kvm/44x_emulate.c b/arch/powerpc/kvm/44x_emulate.c
index 1a793c4..35ec0a8 100644
--- a/arch/powerpc/kvm/44x_emulate.c
+++ b/arch/powerpc/kvm/44x_emulate.c
@@ -46,6 +46,7 @@ static int emulate_mtdcr(struct kvm_vcpu *vcpu, int rs, int 
dcrn)
                vcpu->run->dcr.dcrn = dcrn;
                vcpu->run->dcr.data = kvmppc_get_gpr(vcpu, rs);
                vcpu->run->dcr.is_write = 1;
+               vcpu->arch.dcr_is_write = 1;
                vcpu->arch.dcr_needed = 1;
                kvmppc_account_exit(vcpu, DCR_EXITS);
                return EMULATE_DO_DCR;
@@ -80,6 +81,7 @@ static int emulate_mfdcr(struct kvm_vcpu *vcpu, int rt, int 
dcrn)
                vcpu->run->dcr.dcrn = dcrn;
                vcpu->run->dcr.data =  0;
                vcpu->run->dcr.is_write = 0;
+               vcpu->arch.dcr_is_write = 0;
                vcpu->arch.io_gpr = rt;
                vcpu->arch.dcr_needed = 1;
                kvmppc_account_exit(vcpu, DCR_EXITS);
-- 
1.6.0.2

--
To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to