Lines Matching refs:tsc_page

79 static inline u64 get_tscpage_ts(struct ms_hyperv_tsc_page *tsc_page)  in get_tscpage_ts()  argument
81 return mul_u64_u64_shr64(rdtsc(), tsc_page->tsc_scale) + tsc_page->tsc_offset; in get_tscpage_ts()
84 static inline void check_tsc_msr_tsc_page(struct ms_hyperv_tsc_page *tsc_page) in check_tsc_msr_tsc_page() argument
89 t1 = get_tscpage_ts(tsc_page); in check_tsc_msr_tsc_page()
96 t2 = get_tscpage_ts(tsc_page); in check_tsc_msr_tsc_page()
101 static void guest_main(struct ms_hyperv_tsc_page *tsc_page, vm_paddr_t tsc_page_gpa) in guest_main() argument
116 GUEST_ASSERT(tsc_page->tsc_sequence == 0); in guest_main()
117 GUEST_ASSERT(tsc_page->tsc_scale == 0); in guest_main()
118 GUEST_ASSERT(tsc_page->tsc_offset == 0); in guest_main()
124 GUEST_ASSERT(tsc_page->tsc_sequence != 0); in guest_main()
128 check_tsc_msr_tsc_page(tsc_page); in guest_main()
132 tsc_offset = tsc_page->tsc_offset; in guest_main()
137 GUEST_ASSERT(get_tscpage_ts(tsc_page) < 100000); in guest_main()
139 GUEST_ASSERT(tsc_page->tsc_offset != tsc_offset); in guest_main()
149 tsc_offset = tsc_page->tsc_offset; in guest_main()
150 tsc_scale = tsc_page->tsc_scale; in guest_main()
152 GUEST_ASSERT(tsc_page->tsc_offset == tsc_offset); in guest_main()
153 GUEST_ASSERT(tsc_page->tsc_scale == tsc_scale); in guest_main()
157 check_tsc_msr_tsc_page(tsc_page); in guest_main()
166 memset(tsc_page, 0, sizeof(*tsc_page)); in guest_main()
169 GUEST_ASSERT(tsc_page->tsc_sequence == 0); in guest_main()
170 GUEST_ASSERT(tsc_page->tsc_offset == 0); in guest_main()
171 GUEST_ASSERT(tsc_page->tsc_scale == 0); in guest_main()