diff options
author | 2021-07-13 17:01:46 -0700 | |
---|---|---|
committer | 2021-07-19 09:24:28 +0000 | |
commit | 31e5e64694cf9879e63b2802007fa934f4131126 (patch) | |
tree | d2efd0afb5e7073fd3c47f1d663126a9c57705a3 /include/asm-generic | |
parent | x86/hyperv: add comment describing TSC_INVARIANT_CONTROL MSR setting bit 0 (diff) | |
download | linux-31e5e64694cf9879e63b2802007fa934f4131126.tar.gz linux-31e5e64694cf9879e63b2802007fa934f4131126.tar.bz2 linux-31e5e64694cf9879e63b2802007fa934f4131126.zip |
drivers: hv: Decouple Hyper-V clock/timer code from VMbus drivers
Hyper-V clock/timer code in hyperv_timer.c is mostly independent from
other VMbus drivers, but building for ARM64 without hyperv_timer.c
shows some remaining entanglements. A default implementation of
hv_read_reference_counter can just read a Hyper-V synthetic register
and be independent of hyperv_timer.c, so move this code out and into
hv_common.c. Then it can be used by the timesync driver even if
hyperv_timer.c isn't built on a particular architecture. If
hyperv_timer.c *is* built, it can override with a faster implementation.
Also provide stubs for stimer functions called by the VMbus driver when
hyperv_timer.c isn't built.
No functional changes.
Signed-off-by: Michael Kelley <mikelley@microsoft.com>
Link: https://lore.kernel.org/r/1626220906-22629-1-git-send-email-mikelley@microsoft.com
Signed-off-by: Wei Liu <wei.liu@kernel.org>
Diffstat (limited to 'include/asm-generic')
-rw-r--r-- | include/asm-generic/mshyperv.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/asm-generic/mshyperv.h b/include/asm-generic/mshyperv.h index 60cdff3e2252..c1ab6a6e72b5 100644 --- a/include/asm-generic/mshyperv.h +++ b/include/asm-generic/mshyperv.h @@ -167,6 +167,8 @@ extern bool hv_root_partition; extern u32 *hv_vp_index; extern u32 hv_max_vp_index; +extern u64 (*hv_read_reference_counter)(void); + /* Sentinel value for an uninitialized entry in hv_vp_index array */ #define VP_INVAL U32_MAX |