diff options
author | Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> | 2014-06-05 08:08:02 -0400 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2014-07-28 09:21:50 -0400 |
commit | 8f42ab2749d00ea15157ab896cfbed73a247b3e1 (patch) | |
tree | 2ca02b2e03693367661a77c28746a05852b2ed1b /arch/powerpc/kvm/book3s.c | |
parent | 3cd60e31185343d4132ca7cf3c9becb903b3ec1b (diff) |
KVM: PPC: BOOK3S: PR: Emulate virtual timebase register
virtual time base register is a per VM, per cpu register that needs
to be saved and restored on vm exit and entry. Writing to VTB is not
allowed in the privileged mode.
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
[agraf: fix compile error]
Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'arch/powerpc/kvm/book3s.c')
-rw-r--r-- | arch/powerpc/kvm/book3s.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/powerpc/kvm/book3s.c b/arch/powerpc/kvm/book3s.c index c254c27f240e..ddce1ea8ac4a 100644 --- a/arch/powerpc/kvm/book3s.c +++ b/arch/powerpc/kvm/book3s.c | |||
@@ -646,6 +646,9 @@ int kvm_vcpu_ioctl_get_one_reg(struct kvm_vcpu *vcpu, struct kvm_one_reg *reg) | |||
646 | case KVM_REG_PPC_BESCR: | 646 | case KVM_REG_PPC_BESCR: |
647 | val = get_reg_val(reg->id, vcpu->arch.bescr); | 647 | val = get_reg_val(reg->id, vcpu->arch.bescr); |
648 | break; | 648 | break; |
649 | case KVM_REG_PPC_VTB: | ||
650 | val = get_reg_val(reg->id, vcpu->arch.vtb); | ||
651 | break; | ||
649 | default: | 652 | default: |
650 | r = -EINVAL; | 653 | r = -EINVAL; |
651 | break; | 654 | break; |
@@ -750,6 +753,9 @@ int kvm_vcpu_ioctl_set_one_reg(struct kvm_vcpu *vcpu, struct kvm_one_reg *reg) | |||
750 | case KVM_REG_PPC_BESCR: | 753 | case KVM_REG_PPC_BESCR: |
751 | vcpu->arch.bescr = set_reg_val(reg->id, val); | 754 | vcpu->arch.bescr = set_reg_val(reg->id, val); |
752 | break; | 755 | break; |
756 | case KVM_REG_PPC_VTB: | ||
757 | vcpu->arch.vtb = set_reg_val(reg->id, val); | ||
758 | break; | ||
753 | default: | 759 | default: |
754 | r = -EINVAL; | 760 | r = -EINVAL; |
755 | break; | 761 | break; |