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 <agraf@suse.de> Cc: stable@vger.kernel.org
This commit is contained in:
Родитель
8ca40a70a7
Коммит
e43a028752
|
@ -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);
|
||||
|
|
Загрузка…
Ссылка в новой задаче