Lines Matching +full:local +full:- +full:timers
1 .. SPDX-License-Identifier: GPL-2.0
3 Clocks and Timers
7 -----
8 On arm64, Hyper-V virtualizes the ARMv8 architectural system counter
12 architectural system counter is functional in guest VMs on Hyper-V.
13 While Hyper-V also provides a synthetic system clock and four synthetic
14 per-CPU timers as described in the TLFS, they are not used by the
15 Linux kernel in a Hyper-V guest on arm64. However, older versions
16 of Hyper-V for arm64 only partially virtualize the ARMv8
19 Linux kernel versions on these older Hyper-V versions requires an
20 out-of-tree patch to use the Hyper-V synthetic clocks/timers instead.
23 -------
24 On x86/x64, Hyper-V provides guest VMs with a synthetic system clock
25 and four synthetic per-CPU timers as described in the TLFS. Hyper-V
29 Hyper-V performs TSC calibration, and provides the TSC frequency
30 to the guest VM via a synthetic MSR. Hyper-V initialization code
32 calibration and sets tsc_reliable. Hyper-V provides virtualized
33 versions of the PIT (in Hyper-V Generation 1 VMs only), local
34 APIC timer, and RTC. Hyper-V does not provide a virtualized HPET in
37 The Hyper-V synthetic system clock can be read via a synthetic MSR,
40 and the hypervisor. Hyper-V populates this memory page with a
41 64-bit scale value and offset value. To read the synthetic clock
43 as described in the Hyper-V TLFS. The resulting value advances
45 to a host with a different TSC frequency, Hyper-V adjusts the
49 Starting with Windows Server 2022 Hyper-V, Hyper-V uses hardware
51 across Hyper-V hosts where the TSC frequency may be different.
52 When a Linux guest detects that this Hyper-V functionality is
53 available, it prefers to use Linux's standard TSC-based clocksource.
54 Otherwise, it uses the clocksource for the Hyper-V synthetic system
58 The Hyper-V synthetic system clock is available to user space via
65 Linux clockevents are based on Hyper-V synthetic timer 0 (stimer0).
66 While Hyper-V offers 4 synthetic timers for each CPU, Linux only uses
67 timer 0. In older versions of Hyper-V, an interrupt from stimer0
70 documentation. In newer versions of Hyper-V, stimer0 interrupts can
73 x86/x64 doesn't support per-CPU interrupts, Direct Mode statically
78 virtualized PIT and local APIC timer also work, but Hyper-V stimer0
81 The driver for the Hyper-V synthetic system clock and timers is