lkml.org 
[lkml]   [2019]   [Sep]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRE: [RFC PATCH v3 4/6] psci: Add hvc call service for ptp_kvm.
    Date
    Hi Paolo,

    > -----Original Message-----
    > From: Paolo Bonzini <pbonzini@redhat.com>
    > Sent: Tuesday, September 24, 2019 10:20 PM
    > To: Jianyong Wu (Arm Technology China) <Jianyong.Wu@arm.com>;
    > netdev@vger.kernel.org; yangbo.lu@nxp.com; john.stultz@linaro.org;
    > tglx@linutronix.de; sean.j.christopherson@intel.com; maz@kernel.org;
    > richardcochran@gmail.com; Mark Rutland <Mark.Rutland@arm.com>; Will
    > Deacon <Will.Deacon@arm.com>; Suzuki Poulose
    > <Suzuki.Poulose@arm.com>
    > Cc: linux-kernel@vger.kernel.org; kvm@vger.kernel.org; Steve Capper
    > <Steve.Capper@arm.com>; Kaly Xin (Arm Technology China)
    > <Kaly.Xin@arm.com>; Justin He (Arm Technology China)
    > <Justin.He@arm.com>; nd <nd@arm.com>; linux-arm-
    > kernel@lists.infradead.org
    > Subject: Re: [RFC PATCH v3 4/6] psci: Add hvc call service for ptp_kvm.
    >
    > On 23/09/19 06:57, Jianyong Wu (Arm Technology China) wrote:
    > >> On 19/09/19 11:46, Jianyong Wu (Arm Technology China) wrote:
    > >>>> On 18/09/19 11:57, Jianyong Wu (Arm Technology China) wrote:
    > >>>>> Paolo Bonzini wrote:
    > >>>>>> This is not Y2038-safe. Please use ktime_get_real_ts64 instead,
    > >>>>>> and split the 64-bit seconds value between val[0] and val[1].
    > >>>
    > >>> Val[] should be long not u32 I think, so in arm64 I can avoid that
    > >>> Y2038_safe, but also need rewrite for arm32.
    > >>
    > >> I don't think there's anything inherently wrong with u32 val[], and
    > >> as you notice it lets you reuse code between arm and arm64. It's up
    > >> to you and Marc to decide.
    > >>
    > > To compatible 32-bit, Integrates second value and nanosecond value as
    > > a nanosecond value then split it into val[0] and val[1] and split cycle value
    > into val[2] and val[3], In this way, time will overflow at Y2262.
    > > WDYT?
    >
    > So if I understand correctly you'd multiply by 10^9 (or better shift by
    > 30) the nanoseconds.
    >
    Yeah,
    > That works, but why not provide 5 output registers? Alternatively, take an
    > address as input and write there.

    It will be easy, if I could have expanded the store room. But these code is the infrastructure for hypercall, I can't change them at my will.
    I think only value but pointer can delivered by smccc_set_retval call.

    >
    > Finally, on x86 we added an argument for the CLOCK_* that is being read
    > (currently only CLOCK_REALTIME, but having room for extensibility in the API
    > is always nice).
    >
    IMO, I will be limited by the design of hypercall on arm64, I can only design my code under it. maybe it will be better sometime but for now I could just obey it.

    Thanks
    Jianyong Wu

    > Paolo

    \
     
     \ /
      Last update: 2019-09-25 12:28    [W:3.394 / U:0.040 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site