aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kvm/booke.c
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2010-07-29 08:47:47 -0400
committerAvi Kivity <avi@redhat.com>2010-10-24 04:50:45 -0400
commita73a9599e03eef1324d5aeecaebc1b339d2e1664 (patch)
tree0bdda99fbefc4fe38e1f5769556e32c8e11834f2 /arch/powerpc/kvm/booke.c
parentde7906c36ca1e22a3e3600e95c6a4e2c1e4e2e9c (diff)
KVM: PPC: Convert SPRG[0-4] to shared page
When in kernel mode there are 4 additional registers available that are simple data storage. Instead of exiting to the hypervisor to read and write those, we can just share them with the guest using the page. 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/booke.c')
-rw-r--r--arch/powerpc/kvm/booke.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c
index 793df28b628d..b2c8c423c4d5 100644
--- a/arch/powerpc/kvm/booke.c
+++ b/arch/powerpc/kvm/booke.c
@@ -495,10 +495,10 @@ int kvm_arch_vcpu_ioctl_get_regs(struct kvm_vcpu *vcpu, struct kvm_regs *regs)
495 regs->srr0 = vcpu->arch.shared->srr0; 495 regs->srr0 = vcpu->arch.shared->srr0;
496 regs->srr1 = vcpu->arch.shared->srr1; 496 regs->srr1 = vcpu->arch.shared->srr1;
497 regs->pid = vcpu->arch.pid; 497 regs->pid = vcpu->arch.pid;
498 regs->sprg0 = vcpu->arch.sprg0; 498 regs->sprg0 = vcpu->arch.shared->sprg0;
499 regs->sprg1 = vcpu->arch.sprg1; 499 regs->sprg1 = vcpu->arch.shared->sprg1;
500 regs->sprg2 = vcpu->arch.sprg2; 500 regs->sprg2 = vcpu->arch.shared->sprg2;
501 regs->sprg3 = vcpu->arch.sprg3; 501 regs->sprg3 = vcpu->arch.shared->sprg3;
502 regs->sprg5 = vcpu->arch.sprg4; 502 regs->sprg5 = vcpu->arch.sprg4;
503 regs->sprg6 = vcpu->arch.sprg5; 503 regs->sprg6 = vcpu->arch.sprg5;
504 regs->sprg7 = vcpu->arch.sprg6; 504 regs->sprg7 = vcpu->arch.sprg6;
@@ -521,10 +521,10 @@ int kvm_arch_vcpu_ioctl_set_regs(struct kvm_vcpu *vcpu, struct kvm_regs *regs)
521 kvmppc_set_msr(vcpu, regs->msr); 521 kvmppc_set_msr(vcpu, regs->msr);
522 vcpu->arch.shared->srr0 = regs->srr0; 522 vcpu->arch.shared->srr0 = regs->srr0;
523 vcpu->arch.shared->srr1 = regs->srr1; 523 vcpu->arch.shared->srr1 = regs->srr1;
524 vcpu->arch.sprg0 = regs->sprg0; 524 vcpu->arch.shared->sprg0 = regs->sprg0;
525 vcpu->arch.sprg1 = regs->sprg1; 525 vcpu->arch.shared->sprg1 = regs->sprg1;
526 vcpu->arch.sprg2 = regs->sprg2; 526 vcpu->arch.shared->sprg2 = regs->sprg2;
527 vcpu->arch.sprg3 = regs->sprg3; 527 vcpu->arch.shared->sprg3 = regs->sprg3;
528 vcpu->arch.sprg5 = regs->sprg4; 528 vcpu->arch.sprg5 = regs->sprg4;
529 vcpu->arch.sprg6 = regs->sprg5; 529 vcpu->arch.sprg6 = regs->sprg5;
530 vcpu->arch.sprg7 = regs->sprg6; 530 vcpu->arch.sprg7 = regs->sprg6;