Back to Linux

PTP_KVM support for arm/arm64

Documentation/virt/kvm/arm/ptp_kvm.rst

latest2.0 KB
Original Source

.. SPDX-License-Identifier: GPL-2.0

PTP_KVM support for arm/arm64

PTP_KVM is used for high precision time sync between host and guests. It relies on transferring the wall clock and counter value from the host to the guest using a KVM-specific hypercall.

ARM_SMCCC_VENDOR_HYP_KVM_PTP_FUNC_ID

Retrieve current time information for the specific counter. There are no endianness restrictions.

+---------------------+-------------------------------------------------------+ | Presence: | Optional | +---------------------+-------------------------------------------------------+ | Calling convention: | HVC32 | +---------------------+----------+--------------------------------------------+ | Function ID: | (uint32) | 0x86000001 | +---------------------+----------+----+---------------------------------------+ | Arguments: | (uint32) | R1 | KVM_PTP_VIRT_COUNTER (0) | | | | +---------------------------------------+ | | | | KVM_PTP_PHYS_COUNTER (1) | +---------------------+----------+----+---------------------------------------+ | Return Values: | (int32) | R0 | NOT_SUPPORTED (-1) on error, else | | | | | upper 32 bits of wall clock time | | +----------+----+---------------------------------------+ | | (uint32) | R1 | Lower 32 bits of wall clock time | | +----------+----+---------------------------------------+ | | (uint32) | R2 | Upper 32 bits of counter | | +----------+----+---------------------------------------+ | | (uint32) | R3 | Lower 32 bits of counter | +---------------------+----------+----+---------------------------------------+