summaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm
diff options
context:
space:
mode:
authorJoerg Roedel2010-11-30 18:04:01 +0100
committerAvi Kivity2011-01-12 10:30:17 +0100
commit4cc703100b1fd97c71804e2fa5c9c377c5b37dc5 (patch)
tree3fa1e619f50f44fb4e6ba27fc626c1ebbad1407b /arch/x86/kvm
parentKVM: SVM: Add manipulation functions for misc intercepts (diff)
downloadkernel-qcow2-linux-4cc703100b1fd97c71804e2fa5c9c377c5b37dc5.tar.gz
kernel-qcow2-linux-4cc703100b1fd97c71804e2fa5c9c377c5b37dc5.tar.xz
kernel-qcow2-linux-4cc703100b1fd97c71804e2fa5c9c377c5b37dc5.zip
KVM: SVM: Use get_host_vmcb function in svm_get_msr for TSC
This patch replaces the open-coded vmcb-selection for the TSC calculation with the new get_host_vmcb helper function introduced in this patchset. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Diffstat (limited to 'arch/x86/kvm')
-rw-r--r--arch/x86/kvm/svm.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
index cde5392bbe90..50387860a53c 100644
--- a/arch/x86/kvm/svm.c
+++ b/arch/x86/kvm/svm.c
@@ -2630,14 +2630,9 @@ static int svm_get_msr(struct kvm_vcpu *vcpu, unsigned ecx, u64 *data)
switch (ecx) {
case MSR_IA32_TSC: {
- u64 tsc_offset;
+ struct vmcb *vmcb = get_host_vmcb(svm);
- if (is_guest_mode(vcpu))
- tsc_offset = svm->nested.hsave->control.tsc_offset;
- else
- tsc_offset = svm->vmcb->control.tsc_offset;
-
- *data = tsc_offset + native_read_tsc();
+ *data = vmcb->control.tsc_offset + native_read_tsc();
break;
}
case MSR_STAR: