The patch below does not apply to the 3.7-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <[email protected]>.

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

>From e43a028752fed049e4bd94ef895542f96d79fa74 Mon Sep 17 00:00:00 2001
From: Alexander Graf <[email protected]>
Date: Sat, 6 Oct 2012 03:56:35 +0200
Subject: [PATCH] KVM: PPC: 44x: fix DCR read/write

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 <[email protected]>
Cc: [email protected]

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);

--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to