Lines Matching +full:cpu +full:- +full:read

1 /* SPDX-License-Identifier: GPL-2.0 */
4 * Definitions for the clocksource provided by the Hyper-V
5 * hypervisor to guest VMs, as described in the Hyper-V Top
18 #include <asm/hyperv-tlfs.h>
29 extern int hv_stimer_cleanup(unsigned int cpu);
30 extern void hv_stimer_legacy_init(unsigned int cpu, int sint);
31 extern void hv_stimer_legacy_cleanup(unsigned int cpu);
49 * The protocol for reading Hyper-V TSC page is specified in Hypervisor in hv_read_tsc_page_tsc()
50 * Top-Level Functional Specification ver. 3.0 and above. To get the in hv_read_tsc_page_tsc()
52 * - READ ReferenceTscSequence in hv_read_tsc_page_tsc()
55 * versions (up to 4.0b) contain a mistake and wrongly claim '-1' in hv_read_tsc_page_tsc()
57 * - ReferenceTime = in hv_read_tsc_page_tsc()
59 * - READ ReferenceTscSequence again. In case its value has changed in hv_read_tsc_page_tsc()
65 sequence = READ_ONCE(tsc_pg->tsc_sequence); in hv_read_tsc_page_tsc()
69 * Make sure we read sequence before we read other values from in hv_read_tsc_page_tsc()
74 scale = READ_ONCE(tsc_pg->tsc_scale); in hv_read_tsc_page_tsc()
75 offset = READ_ONCE(tsc_pg->tsc_offset); in hv_read_tsc_page_tsc()
79 * Make sure we read sequence after we read all other values in hv_read_tsc_page_tsc()
84 } while (READ_ONCE(tsc_pg->tsc_sequence) != sequence); in hv_read_tsc_page_tsc()
107 static inline int hv_stimer_cleanup(unsigned int cpu) { return 0; } in hv_stimer_cleanup() argument
108 static inline void hv_stimer_legacy_init(unsigned int cpu, int sint) {} in hv_stimer_legacy_init() argument
109 static inline void hv_stimer_legacy_cleanup(unsigned int cpu) {} in hv_stimer_legacy_cleanup() argument