aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kvm/book3s_emulate.c
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2010-07-29 08:47:44 -0400
committerAvi Kivity <avi@redhat.com>2010-10-24 04:50:44 -0400
commitd562de48de68b60b3d2522e7d8273d7112034ee6 (patch)
treeec58ea23bea8aec64be3d169033cece19cd6d3e8 /arch/powerpc/kvm/book3s_emulate.c
parent666e7252a15b7fc4a116e65deaf6da5e4ce660e3 (diff)
KVM: PPC: Convert DSISR to shared page
The DSISR register contains information about a data page fault. It is fully read/write from inside the guest context and we don't need to worry about interacting based on writes of this register. This patch converts all users of the current field to the shared page. Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/powerpc/kvm/book3s_emulate.c')
-rw-r--r--arch/powerpc/kvm/book3s_emulate.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/powerpc/kvm/book3s_emulate.c b/arch/powerpc/kvm/book3s_emulate.c
index 35d3c16b2938..9982ff163af0 100644
--- a/arch/powerpc/kvm/book3s_emulate.c
+++ b/arch/powerpc/kvm/book3s_emulate.c
@@ -221,7 +221,7 @@ int kvmppc_core_emulate_op(struct kvm_run *run, struct kvm_vcpu *vcpu,
221 else if (r == -EPERM) 221 else if (r == -EPERM)
222 dsisr |= DSISR_PROTFAULT; 222 dsisr |= DSISR_PROTFAULT;
223 223
224 to_book3s(vcpu)->dsisr = dsisr; 224 vcpu->arch.shared->dsisr = dsisr;
225 to_svcpu(vcpu)->fault_dsisr = dsisr; 225 to_svcpu(vcpu)->fault_dsisr = dsisr;
226 226
227 kvmppc_book3s_queue_irqprio(vcpu, 227 kvmppc_book3s_queue_irqprio(vcpu,
@@ -327,7 +327,7 @@ int kvmppc_core_emulate_mtspr(struct kvm_vcpu *vcpu, int sprn, int rs)
327 to_book3s(vcpu)->sdr1 = spr_val; 327 to_book3s(vcpu)->sdr1 = spr_val;
328 break; 328 break;
329 case SPRN_DSISR: 329 case SPRN_DSISR:
330 to_book3s(vcpu)->dsisr = spr_val; 330 vcpu->arch.shared->dsisr = spr_val;
331 break; 331 break;
332 case SPRN_DAR: 332 case SPRN_DAR:
333 vcpu->arch.dear = spr_val; 333 vcpu->arch.dear = spr_val;
@@ -440,7 +440,7 @@ int kvmppc_core_emulate_mfspr(struct kvm_vcpu *vcpu, int sprn, int rt)
440 kvmppc_set_gpr(vcpu, rt, to_book3s(vcpu)->sdr1); 440 kvmppc_set_gpr(vcpu, rt, to_book3s(vcpu)->sdr1);
441 break; 441 break;
442 case SPRN_DSISR: 442 case SPRN_DSISR:
443 kvmppc_set_gpr(vcpu, rt, to_book3s(vcpu)->dsisr); 443 kvmppc_set_gpr(vcpu, rt, vcpu->arch.shared->dsisr);
444 break; 444 break;
445 case SPRN_DAR: 445 case SPRN_DAR:
446 kvmppc_set_gpr(vcpu, rt, vcpu->arch.dear); 446 kvmppc_set_gpr(vcpu, rt, vcpu->arch.dear);