Defined in 2 files as a function:
- arch/x86/include/asm/pvclock.h, line 84 (as a function)
- tools/arch/x86/include/asm/pvclock.h, line 79 (as a function)
Referenced in 8 files:
- arch/x86/include/asm/vdso/gettimeofday.h, line 127
- arch/x86/kernel/kvmclock.c, line 102
- arch/x86/kernel/pvclock.c, line 77
- arch/x86/kvm/x86.c
- arch/x86/kvm/xen.c, line 253
- drivers/ptp/ptp_kvm_x86.c, line 123
- drivers/ptp/ptp_vmclock.c, line 211
- tools/testing/selftests/kvm/x86/kvm_clock_test.c, line 40
Smatch caller information:
arch/x86/kernel/kvmclock.c kvm_clock_get_cycles_snapshot() -> __pvclock_read_cycles()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | src | 6983400599996956672 |
| BUF_SIZE | 0 | src | 32 |
| DATA_SOURCE | 0 | src | r this_cpu_pvti |
| DATA_SOURCE | 1 | tsc | r rdtsc_ordered |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &adapter->tmreg_lock | ||
| HALF_LOCKED2 | &bp->lock | ||
| HALF_LOCKED2 | &bp->tsu_clk_lock | ||
| HALF_LOCKED2 | &cpts->lock | ||
| HALF_LOCKED2 | &cpts->ptp_clk_mutex | ||
| HALF_LOCKED2 | &dt->tod_lock | ||
| HALF_LOCKED2 | &fbd->time_lock | ||
| HALF_LOCKED2 | &hellcreek->ptp_lock | ||
| HALF_LOCKED2 | &igb->tmreg_lock | ||
| HALF_LOCKED2 | &pdata->tstamp_lock | ||
| HALF_LOCKED2 | &pf->adapter->ptp_gltsyn_time_lock | ||
| HALF_LOCKED2 | &phc_info->lock | ||
| HALF_LOCKED2 | &priv->lock | ||
| HALF_LOCKED2 | &priv->mutex | ||
| HALF_LOCKED2 | &ptp->ptp_lock.lock | ||
| HALF_LOCKED2 | &tai->lock | ||
| HALF_LOCKED2 | &tp->lock | ||
| HALF_LOCKED2 | bh | ||
| HALF_LOCKED2 | flags |
arch/x86/kvm/xen.c kvm_xen_start_timer() -> __pvclock_read_cycles()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | src | 5460748606491287552 |
| DATA_SOURCE | 1 | tsc | r kvm_read_l1_tsc |
| HALF_LOCKED2 | &vcpu->kvm->arch.xen.xen_lock | ||
| HALF_LOCKED2 | &vcpu->kvm->srcu | ||
| HALF_LOCKED2 | &vcpu->mutex |
drivers/ptp/ptp_vmclock.c vmclock_get_crosststamp_kvmclock() -> __pvclock_read_cycles()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | src | 6983400599996956672 |
| BUF_SIZE | 0 | src | 32 |
| DATA_SOURCE | 0 | src | r this_cpu_pvti |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 1 | tsc | 0-u64max |
| HALF_LOCKED2 | &adapter->ptm_lock |
arch/x86/kvm/x86.c __get_kvmclock() -> __pvclock_read_cycles()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | src | 4624962194532315136 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &kvm->arch.xen.xen_lock | ||
| HALF_LOCKED2 | &kvm->srcu |
arch/x86/kvm/x86.c kvm_get_wall_clock_epoch() -> __pvclock_read_cycles()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | src | 6891879833828888576 |
| HALF_LOCKED2 | &gpc->lock | ||
| HALF_LOCKED2 | &kvm->arch.xen.xen_lock | ||
| HALF_LOCKED2 | &kvm->srcu | ||
| HALF_LOCKED2 | irq |
arch/x86/entry/vdso/vdso32/vclock_gettime.c vread_pvclock() -> __pvclock_read_cycles()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | src | 392036352 |
| BUF_SIZE | 0 | src | 32 |
| BIT_INFO | 0 | src->flags | 0x1,0xff |
arch/x86/entry/vdso/vdso64/vclock_gettime.c vread_pvclock() -> __pvclock_read_cycles()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | src | 7858634612595884032 |
| BUF_SIZE | 0 | src | 32 |
| BIT_INFO | 0 | src->flags | 0x1,0xff |
arch/x86/kernel/pvclock.c __pvclock_clocksource_read() -> __pvclock_read_cycles()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | src | 4096-ptr_max |
| BUF_SIZE | 0 | src | (-1),32 |
| BUF_SIZE | 0 | src | (-1),32 |
| DATA_SOURCE | 0 | src | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING |
drivers/ptp/ptp_kvm_x86.c kvm_arch_ptp_get_crosststamp() -> __pvclock_read_cycles()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | src | 6983400599996956672 |
| BUF_SIZE | 0 | src | 32 |
| DATA_SOURCE | 0 | src | r this_cpu_pvti |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | global &kvm_ptp_lock | ||
| HALF_LOCKED2 | &adapter->ptm_lock |