/kernel/linux/linux-5.10/arch/x86/include/asm/vdso/ |
H A D | gettimeofday.h | 198 const struct pvclock_vcpu_time_info *pvti = &pvclock_page.pvti; in vread_pvclock() local 211 * On KVM, we are guaranteed that pvti updates for any vCPU are in vread_pvclock() 220 * mean that all vCPUs have matching pvti and that the TSC is in vread_pvclock() 221 * synced, so we can just look at vCPU 0's pvti. in vread_pvclock() 225 version = pvclock_read_begin(pvti); in vread_pvclock() 227 if (unlikely(!(pvti->flags & PVCLOCK_TSC_STABLE_BIT))) in vread_pvclock() 230 ret = __pvclock_read_cycles(pvti, rdtsc_ordered()); in vread_pvclock() 231 } while (pvclock_read_retry(pvti, version)); in vread_pvclock()
|
/kernel/linux/linux-6.6/arch/x86/include/asm/vdso/ |
H A D | gettimeofday.h | 199 const struct pvclock_vcpu_time_info *pvti = &pvclock_page.pvti; in vread_pvclock() local 212 * On KVM, we are guaranteed that pvti updates for any vCPU are in vread_pvclock() 221 * mean that all vCPUs have matching pvti and that the TSC is in vread_pvclock() 222 * synced, so we can just look at vCPU 0's pvti. in vread_pvclock() 226 version = pvclock_read_begin(pvti); in vread_pvclock() 228 if (unlikely(!(pvti->flags & PVCLOCK_TSC_STABLE_BIT))) in vread_pvclock() 231 ret = __pvclock_read_cycles(pvti, rdtsc_ordered()); in vread_pvclock() 232 } while (pvclock_read_retry(pvti, version)); in vread_pvclock()
|
/kernel/linux/linux-5.10/arch/x86/kernel/ |
H A D | kvmclock.c | 144 if ((src->pvti.flags & PVCLOCK_GUEST_STOPPED) != 0) { in kvm_check_and_clear_guest_paused() 145 src->pvti.flags &= ~PVCLOCK_GUEST_STOPPED; in kvm_check_and_clear_guest_paused() 176 pa = slow_virt_to_phys(&src->pvti) | 0x01ULL; in kvm_register_clock() 250 flags = pvclock_read_flags(&hv_clock_boot[0].pvti); in kvm_setup_vsyscall_timeinfo() 318 flags = pvclock_read_flags(&hv_clock_boot[0].pvti); in kvmclock_init()
|
H A D | pvclock.c | 146 void pvclock_set_pvti_cpu0_va(struct pvclock_vsyscall_time_info *pvti) in pvclock_set_pvti_cpu0_va() argument 149 pvti_cpu0_va = pvti; in pvclock_set_pvti_cpu0_va()
|
/kernel/linux/linux-6.6/arch/x86/kernel/ |
H A D | kvmclock.c | 143 if ((src->pvti.flags & PVCLOCK_GUEST_STOPPED) != 0) { in kvm_check_and_clear_guest_paused() 144 src->pvti.flags &= ~PVCLOCK_GUEST_STOPPED; in kvm_check_and_clear_guest_paused() 175 pa = slow_virt_to_phys(&src->pvti) | 0x01ULL; in kvm_register_clock() 252 flags = pvclock_read_flags(&hv_clock_boot[0].pvti); in kvm_setup_vsyscall_timeinfo() 320 flags = pvclock_read_flags(&hv_clock_boot[0].pvti); in kvmclock_init()
|
H A D | pvclock.c | 156 void pvclock_set_pvti_cpu0_va(struct pvclock_vsyscall_time_info *pvti) in pvclock_set_pvti_cpu0_va() argument 159 pvti_cpu0_va = pvti; in pvclock_set_pvti_cpu0_va()
|
/kernel/linux/linux-5.10/arch/x86/include/asm/ |
H A D | pvclock.h | 91 struct pvclock_vcpu_time_info pvti; member 97 void pvclock_set_pvti_cpu0_va(struct pvclock_vsyscall_time_info *pvti);
|
H A D | kvmclock.h | 13 return &this_cpu_read(hv_clock_per_cpu)->pvti; in this_cpu_pvti()
|
/kernel/linux/linux-6.6/arch/x86/include/asm/ |
H A D | pvclock.h | 92 struct pvclock_vcpu_time_info pvti; member 98 void pvclock_set_pvti_cpu0_va(struct pvclock_vsyscall_time_info *pvti);
|
H A D | kvmclock.h | 13 return &this_cpu_read(hv_clock_per_cpu)->pvti; in this_cpu_pvti()
|
/kernel/linux/linux-6.6/tools/arch/x86/include/asm/ |
H A D | pvclock.h | 88 struct pvclock_vcpu_time_info pvti; member 94 void pvclock_set_pvti_cpu0_va(struct pvclock_vsyscall_time_info *pvti);
|
/kernel/linux/linux-5.10/arch/x86/xen/ |
H A D | time.c | 418 t.addr.v = &xen_clock->pvti; in xen_restore_time_memory_area() 426 * happens is either process seeing a zeroed out pvti or seeing no in xen_restore_time_memory_area() 428 * if 0, it discards the data in pvti and fallbacks to a system in xen_restore_time_memory_area() 451 t.addr.v = &ti->pvti; in xen_setup_vsyscall_time_info() 465 if (!(ti->pvti.flags & PVCLOCK_TSC_STABLE_BIT)) { in xen_setup_vsyscall_time_info() 484 struct pvclock_vcpu_time_info *pvti; in xen_time_init() local 512 pvti = &__this_cpu_read(xen_vcpu)->time; in xen_time_init() 513 if (pvti->flags & PVCLOCK_TSC_STABLE_BIT) { in xen_time_init()
|
/kernel/linux/linux-6.6/arch/x86/xen/ |
H A D | time.c | 421 t.addr.v = &xen_clock->pvti; in xen_restore_time_memory_area() 429 * happens is either process seeing a zeroed out pvti or seeing no in xen_restore_time_memory_area() 431 * if 0, it discards the data in pvti and fallbacks to a system in xen_restore_time_memory_area() 454 t.addr.v = &ti->pvti; in xen_setup_vsyscall_time_info() 468 if (!(ti->pvti.flags & PVCLOCK_TSC_STABLE_BIT)) { in xen_setup_vsyscall_time_info() 511 struct pvclock_vcpu_time_info *pvti; in xen_time_init() local 547 pvti = &__this_cpu_read(xen_vcpu)->time; in xen_time_init() 548 if (pvti->flags & PVCLOCK_TSC_STABLE_BIT) { in xen_time_init()
|
/kernel/linux/linux-6.6/tools/testing/selftests/kvm/x86_64/ |
H A D | kvm_clock_test.c | 34 static void guest_main(vm_paddr_t pvti_pa, struct pvclock_vcpu_time_info *pvti) in guest_main() argument 40 GUEST_SYNC_CLOCK(i, __pvclock_read_cycles(pvti, rdtsc())); in guest_main()
|
/kernel/linux/linux-5.10/arch/x86/entry/vdso/ |
H A D | vma.c | 221 struct pvclock_vsyscall_time_info *pvti = in vvar_fault() local 223 if (pvti && vclock_was_used(VDSO_CLOCKMODE_PVCLOCK)) { in vvar_fault() 225 __pa(pvti) >> PAGE_SHIFT, in vvar_fault()
|
/kernel/linux/linux-6.6/arch/x86/entry/vdso/ |
H A D | vma.c | 183 struct pvclock_vsyscall_time_info *pvti = in vvar_fault() local 185 if (pvti && vclock_was_used(VDSO_CLOCKMODE_PVCLOCK)) { in vvar_fault() 187 __pa(pvti) >> PAGE_SHIFT, in vvar_fault()
|
/kernel/linux/linux-5.10/drivers/ptp/ |
H A D | ptp_kvm.c | 46 src = &hv_clock[cpu].pvti; in ptp_kvm_get_time_fn()
|