Hi Marc, > -----Original Message----- > From: Marc Zyngier <maz@xxxxxxxxxx> > Sent: Monday, November 23, 2020 6:58 PM > To: Jianyong Wu <Jianyong.Wu@xxxxxxx> > Cc: netdev@xxxxxxxxxxxxxxx; yangbo.lu@xxxxxxx; john.stultz@xxxxxxxxxx; > tglx@xxxxxxxxxxxxx; pbonzini@xxxxxxxxxx; sean.j.christopherson@xxxxxxxxx; > richardcochran@xxxxxxxxx; Mark Rutland <Mark.Rutland@xxxxxxx>; > will@xxxxxxxxxx; Suzuki Poulose <Suzuki.Poulose@xxxxxxx>; Andre > Przywara <Andre.Przywara@xxxxxxx>; Steven Price > <Steven.Price@xxxxxxx>; linux-kernel@xxxxxxxxxxxxxxx; linux-arm- > kernel@xxxxxxxxxxxxxxxxxxx; kvmarm@xxxxxxxxxxxxxxxxxxxxx; > kvm@xxxxxxxxxxxxxxx; Steve Capper <Steve.Capper@xxxxxxx>; Justin He > <Justin.He@xxxxxxx>; nd <nd@xxxxxxx> > 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@xxxxxxx> > > --- > > 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...