diff options
author | Joerg Roedel <joerg.roedel@amd.com> | 2011-03-25 04:44:49 -0400 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2011-05-11 07:57:05 -0400 |
commit | 4051b18801f5b47bb0369feefdc80e57819d0ddf (patch) | |
tree | ac0b50efc768bbf7bfe42fcd70e9d97bf46185b9 /arch/x86/kvm/vmx.c | |
parent | 8f6055cbaf68cbd9ff2692a2cfa691b43629ccd4 (diff) |
KVM: X86: Implement call-back to propagate virtual_tsc_khz
This patch implements a call-back into the architecture code
to allow the propagation of changes to the virtual tsc_khz
of the vcpu.
On SVM it updates the tsc_ratio variable, on VMX it does
nothing.
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/x86/kvm/vmx.c')
-rw-r--r-- | arch/x86/kvm/vmx.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c index 3dfefe3bcd05..e19c7a5473d5 100644 --- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c | |||
@@ -1161,6 +1161,16 @@ static u64 guest_read_tsc(void) | |||
1161 | } | 1161 | } |
1162 | 1162 | ||
1163 | /* | 1163 | /* |
1164 | * Empty call-back. Needs to be implemented when VMX enables the SET_TSC_KHZ | ||
1165 | * ioctl. In this case the call-back should update internal vmx state to make | ||
1166 | * the changes effective. | ||
1167 | */ | ||
1168 | static void vmx_set_tsc_khz(struct kvm_vcpu *vcpu, u32 user_tsc_khz) | ||
1169 | { | ||
1170 | /* Nothing to do here */ | ||
1171 | } | ||
1172 | |||
1173 | /* | ||
1164 | * writes 'offset' into guest's timestamp counter offset register | 1174 | * writes 'offset' into guest's timestamp counter offset register |
1165 | */ | 1175 | */ |
1166 | static void vmx_write_tsc_offset(struct kvm_vcpu *vcpu, u64 offset) | 1176 | static void vmx_write_tsc_offset(struct kvm_vcpu *vcpu, u64 offset) |
@@ -4497,6 +4507,7 @@ static struct kvm_x86_ops vmx_x86_ops = { | |||
4497 | 4507 | ||
4498 | .has_wbinvd_exit = cpu_has_vmx_wbinvd_exit, | 4508 | .has_wbinvd_exit = cpu_has_vmx_wbinvd_exit, |
4499 | 4509 | ||
4510 | .set_tsc_khz = vmx_set_tsc_khz, | ||
4500 | .write_tsc_offset = vmx_write_tsc_offset, | 4511 | .write_tsc_offset = vmx_write_tsc_offset, |
4501 | .adjust_tsc_offset = vmx_adjust_tsc_offset, | 4512 | .adjust_tsc_offset = vmx_adjust_tsc_offset, |
4502 | 4513 | ||