[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 7/9] kvm/x86: Hyper-V internal helper to read MSR
From: |
Andrey Smetanin |
Subject: |
[Qemu-devel] [PATCH v2 7/9] kvm/x86: Hyper-V internal helper to read MSR HV_X64_MSR_TIME_REF_COUNT |
Date: |
Mon, 30 Nov 2015 19:22:19 +0300 |
This helper will be used also in Hyper-V SynIC timers implementation.
Signed-off-by: Andrey Smetanin <address@hidden>
Reviewed-by: Roman Kagan <address@hidden>
CC: Gleb Natapov <address@hidden>
CC: Paolo Bonzini <address@hidden>
CC: "K. Y. Srinivasan" <address@hidden>
CC: Haiyang Zhang <address@hidden>
CC: Vitaly Kuznetsov <address@hidden>
CC: Roman Kagan <address@hidden>
CC: Denis V. Lunev <address@hidden>
CC: address@hidden
---
arch/x86/kvm/hyperv.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/arch/x86/kvm/hyperv.c b/arch/x86/kvm/hyperv.c
index 41869a9..9958926 100644
--- a/arch/x86/kvm/hyperv.c
+++ b/arch/x86/kvm/hyperv.c
@@ -335,6 +335,11 @@ static void synic_init(struct kvm_vcpu_hv_synic *synic)
}
}
+static u64 get_time_ref_counter(struct kvm *kvm)
+{
+ return div_u64(get_kernel_ns() + kvm->arch.kvmclock_offset, 100);
+}
+
void kvm_hv_vcpu_init(struct kvm_vcpu *vcpu)
{
synic_init(vcpu_to_synic(vcpu));
@@ -576,11 +581,9 @@ static int kvm_hv_get_msr_pw(struct kvm_vcpu *vcpu, u32
msr, u64 *pdata)
case HV_X64_MSR_HYPERCALL:
data = hv->hv_hypercall;
break;
- case HV_X64_MSR_TIME_REF_COUNT: {
- data =
- div_u64(get_kernel_ns() + kvm->arch.kvmclock_offset, 100);
+ case HV_X64_MSR_TIME_REF_COUNT:
+ data = get_time_ref_counter(kvm);
break;
- }
case HV_X64_MSR_REFERENCE_TSC:
data = hv->hv_tsc_page;
break;
--
2.4.3
- [Qemu-devel] [PATCH v2 0/9] KVM: Hyper-V SynIC timers, Andrey Smetanin, 2015/11/30
- [Qemu-devel] [PATCH v2 2/9] drivers/hv: Move HV_SYNIC_STIMER_COUNT into Hyper-V UAPI x86 header, Andrey Smetanin, 2015/11/30
- [Qemu-devel] [PATCH v2 6/9] kvm/x86: Added Hyper-V vcpu_to_hv_vcpu()/hv_vcpu_to_vcpu() helpers, Andrey Smetanin, 2015/11/30
- [Qemu-devel] [PATCH v2 1/9] drivers/hv: replace enum hv_message_type by u32, Andrey Smetanin, 2015/11/30
- [Qemu-devel] [PATCH v2 3/9] drivers/hv: Move struct hv_message into UAPI Hyper-V x86 header, Andrey Smetanin, 2015/11/30
- [Qemu-devel] [PATCH v2 5/9] kvm/x86: Rearrange func's declarations inside Hyper-V header, Andrey Smetanin, 2015/11/30
- [Qemu-devel] [PATCH v2 4/9] drivers/hv: Move struct hv_timer_message_payload into UAPI Hyper-V x86 header, Andrey Smetanin, 2015/11/30
- [Qemu-devel] [PATCH v2 7/9] kvm/x86: Hyper-V internal helper to read MSR HV_X64_MSR_TIME_REF_COUNT,
Andrey Smetanin <=
- [Qemu-devel] [PATCH v2 8/9] kvm/x86: Hyper-V SynIC message slot pending clearing at SINT ack, Andrey Smetanin, 2015/11/30
- [Qemu-devel] [PATCH v2 9/9] kvm/x86: Hyper-V SynIC timers, Andrey Smetanin, 2015/11/30