svn commit: r300832 - head/sys/dev/hyperv/vmbus
Sepherosa Ziehau
sephe at FreeBSD.org
Fri May 27 07:05:31 UTC 2016
Author: sephe
Date: Fri May 27 07:05:30 2016
New Revision: 300832
URL: https://svnweb.freebsd.org/changeset/base/300832
Log:
hyperv: Clean up Hyper-V timecounter a bit.
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6569
Modified:
head/sys/dev/hyperv/vmbus/hv_hv.c
Modified: head/sys/dev/hyperv/vmbus/hv_hv.c
==============================================================================
--- head/sys/dev/hyperv/vmbus/hv_hv.c Fri May 27 06:55:05 2016 (r300831)
+++ head/sys/dev/hyperv/vmbus/hv_hv.c Fri May 27 07:05:30 2016 (r300832)
@@ -74,22 +74,29 @@ struct hypercall_ctx {
struct hyperv_dma hc_dma;
};
-static struct hypercall_ctx hypercall_context;
-
-static u_int hv_get_timecount(struct timecounter *tc);
+static u_int hyperv_get_timecount(struct timecounter *tc);
-u_int hyperv_features;
-u_int hyperv_recommends;
+u_int hyperv_features;
+u_int hyperv_recommends;
static u_int hyperv_pm_features;
static u_int hyperv_features3;
-static struct timecounter hv_timecounter = {
- hv_get_timecount, 0, ~0u, HV_NANOSECONDS_PER_SEC/100, "Hyper-V", HV_NANOSECONDS_PER_SEC/100
+static struct timecounter hyperv_timecounter = {
+ .tc_get_timecount = hyperv_get_timecount,
+ .tc_poll_pps = NULL,
+ .tc_counter_mask = 0xffffffff,
+ .tc_frequency = HV_NANOSECONDS_PER_SEC/100,
+ .tc_name = "Hyper-V",
+ .tc_quality = 2000,
+ .tc_flags = 0,
+ .tc_priv = NULL
};
+static struct hypercall_ctx hypercall_context;
+
static u_int
-hv_get_timecount(struct timecounter *tc)
+hyperv_get_timecount(struct timecounter *tc __unused)
{
return rdmsr(MSR_HV_TIME_REF_COUNT);
}
@@ -304,8 +311,8 @@ hyperv_init(void *dummy __unused)
wrmsr(MSR_HV_GUEST_OS_ID, MSR_HV_GUESTID_FREEBSD);
if (hyperv_features & CPUID_HV_MSR_TIME_REFCNT) {
- /* Register virtual timecount */
- tc_init(&hv_timecounter);
+ /* Register Hyper-V timecounter */
+ tc_init(&hyperv_timecounter);
}
}
SYSINIT(hyperv_initialize, SI_SUB_HYPERVISOR, SI_ORDER_FIRST, hyperv_init,
More information about the svn-src-all
mailing list