Messages in this thread | | | From | Jianyong Wu <> | Subject | RE: [PATCH v15 8/9] doc: add ptp_kvm introduction for arm64 support | Date | Tue, 24 Nov 2020 05:21:51 +0000 |
| |
Hi Marc,
> -----Original Message----- > From: Marc Zyngier <maz@kernel.org> > Sent: Monday, November 23, 2020 6:58 PM > To: Jianyong Wu <Jianyong.Wu@arm.com> > Cc: netdev@vger.kernel.org; yangbo.lu@nxp.com; john.stultz@linaro.org; > tglx@linutronix.de; pbonzini@redhat.com; sean.j.christopherson@intel.com; > richardcochran@gmail.com; Mark Rutland <Mark.Rutland@arm.com>; > will@kernel.org; Suzuki Poulose <Suzuki.Poulose@arm.com>; Andre > Przywara <Andre.Przywara@arm.com>; Steven Price > <Steven.Price@arm.com>; linux-kernel@vger.kernel.org; linux-arm- > kernel@lists.infradead.org; kvmarm@lists.cs.columbia.edu; > kvm@vger.kernel.org; Steve Capper <Steve.Capper@arm.com>; Justin He > <Justin.He@arm.com>; nd <nd@arm.com> > Subject: Re: [PATCH v15 8/9] doc: add ptp_kvm introduction for arm64 > support > > On 2020-11-11 06:22, Jianyong Wu wrote: > > PTP_KVM implementation depends on hypercall using SMCCC. So we > > introduce a new SMCCC service ID. This doc explains how does the ID > > define and how does PTP_KVM works on arm/arm64. > > > > Signed-off-by: Jianyong Wu <jianyong.wu@arm.com> > > --- > > Documentation/virt/kvm/api.rst | 9 +++++++ > > Documentation/virt/kvm/arm/index.rst | 1 + > > Documentation/virt/kvm/arm/ptp_kvm.rst | 29 > +++++++++++++++++++++ > > Documentation/virt/kvm/timekeeping.rst | 35 > ++++++++++++++++++++++++++ > > 4 files changed, 74 insertions(+) > > create mode 100644 Documentation/virt/kvm/arm/ptp_kvm.rst > > > > diff --git a/Documentation/virt/kvm/api.rst > > b/Documentation/virt/kvm/api.rst index 36d5f1f3c6dd..9843dbcbf770 > > 100644 > > --- a/Documentation/virt/kvm/api.rst > > +++ b/Documentation/virt/kvm/api.rst > > @@ -6391,3 +6391,12 @@ When enabled, KVM will disable paravirtual > > features provided to the guest according to the bits in the > > KVM_CPUID_FEATURES CPUID leaf (0x40000001). Otherwise, a guest may > > use the paravirtual features regardless of what has actually been > > exposed through the CPUID leaf. > > + > > +8.27 KVM_CAP_PTP_KVM > > +-------------------- > > + > > +:Architectures: arm64 > > + > > +This capability indicates that KVM virtual PTP service is supported > > +in > > host. > > +It must company with the implementation of KVM virtual PTP service in > > host > > +so VMM can probe if there is the service in host by checking this > > capability. > > diff --git a/Documentation/virt/kvm/arm/index.rst > > b/Documentation/virt/kvm/arm/index.rst > > index 3e2b2aba90fc..78a9b670aafe 100644 > > --- a/Documentation/virt/kvm/arm/index.rst > > +++ b/Documentation/virt/kvm/arm/index.rst > > @@ -10,3 +10,4 @@ ARM > > hyp-abi > > psci > > pvtime > > + ptp_kvm > > diff --git a/Documentation/virt/kvm/arm/ptp_kvm.rst > > b/Documentation/virt/kvm/arm/ptp_kvm.rst > > new file mode 100644 > > index 000000000000..bb1e6cfefe44 > > --- /dev/null > > +++ b/Documentation/virt/kvm/arm/ptp_kvm.rst > > @@ -0,0 +1,29 @@ > > +.. SPDX-License-Identifier: GPL-2.0 > > + > > +PTP_KVM support for arm/arm64 > > +============================= > > + > > +PTP_KVM is used for time sync between guest and host in a high > > precision. > > +It needs to get the wall time and counter value from the host and > > transfer these > > +to guest via hypercall service. So one more hypercall service has > > +been > > added. > > + > > +This new SMCCC hypercall is defined as: > > + > > +* ARM_SMCCC_HYP_KVM_PTP_FUNC_ID: 0x86000001 > > + > > +As both 32 and 64-bits ptp_kvm client should be supported, we choose > > SMC32/HVC32 > > +calling convention. > > + > > +ARM_SMCCC_HYP_KVM_PTP_FUNC_ID: > > + > > + ============= ========== ========== > > + Function ID: (uint32) 0x86000001 > > + Arguments: (uint32) ARM_PTP_PHY_COUNTER(1) or > > ARM_PTP_VIRT_COUNTER(0) > > + which indicate acquiring physical > > counter or > > + virtual counter respectively. > > + return value: (uint32) NOT_SUPPORTED(-1) or val0 and val1 > > represent > > + wall clock time and val2 and val3 > > represent > > + counter cycle. > > This needs a lot more description: > > - Which word contains what part of the data (upper/lower part of the 64bit > data) > - The endianness of the data returned
OK.
Thanks Jianyong > > M. > -- > Jazz is not dead. It just smells funny...
| |