lkml.org 
[lkml]   [2018]   [Jun]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v12 05/11] s390/time: add read_persistent_wall_and_boot_offset()
    On Thu, 21 Jun 2018 17:25:12 -0400
    Pavel Tatashin <pasha.tatashin@oracle.com> wrote:

    > read_persistent_wall_and_boot_offset() will replace read_boot_clock64()
    > because on some architectures it is more convenient to read both sources
    > as one may depend on the other. For s390, implementation is the same
    > as read_boot_clock64() but also calling and returning value of
    > read_persistent_clock64()
    >
    > Signed-off-by: Pavel Tatashin <pasha.tatashin@oracle.com>
    > ---
    > arch/s390/kernel/time.c | 18 ++++++++++++++++++
    > 1 file changed, 18 insertions(+)
    >
    > diff --git a/arch/s390/kernel/time.c b/arch/s390/kernel/time.c
    > index cf561160ea88..d1f5447d5687 100644
    > --- a/arch/s390/kernel/time.c
    > +++ b/arch/s390/kernel/time.c
    > @@ -221,6 +221,24 @@ void read_persistent_clock64(struct timespec64 *ts)
    > ext_to_timespec64(clk, ts);
    > }
    >
    > +void __init read_persistent_wall_and_boot_offset(struct timespec64 *wall_time,
    > + struct timespec64 *boot_offset)
    > +{
    > + unsigned char clk[STORE_CLOCK_EXT_SIZE];
    > + struct timespec64 boot_time;
    > + __u64 delta;
    > +
    > + delta = initial_leap_seconds + TOD_UNIX_EPOCH;
    > + memcpy(clk, tod_clock_base, STORE_CLOCK_EXT_SIZE);
    > + *(__u64 *)&clk[1] -= delta;
    > + if (*(__u64 *)&clk[1] > delta)
    > + clk[0]--;
    > + ext_to_timespec64(clk, &boot_time);
    > +
    > + read_persistent_clock64(wall_time);
    > + *boot_offset = timespec64_sub(*wall_time, boot_time);
    > +}
    > +
    > void read_boot_clock64(struct timespec64 *ts)
    > {
    > unsigned char clk[STORE_CLOCK_EXT_SIZE];

    From a s390 standpoint this looks reasonable.

    Reviewed-by: Martin Schwidefsky <schwidefsky@de.ibm.com>

    --
    blue skies,
    Martin.

    "Reality continues to ruin my life." - Calvin.

    \
     
     \ /
      Last update: 2018-06-25 09:08    [W:4.414 / U:0.300 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site