]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commit
s390/time: LPAR offset handling
authorMartin Schwidefsky <schwidefsky@de.ibm.com>
Tue, 29 Nov 2016 17:44:24 +0000 (10:44 -0700)
committerBrad Figg <brad.figg@canonical.com>
Thu, 8 Dec 2016 18:58:07 +0000 (10:58 -0800)
commit40ab4ccefb9d9dfe7a6ccd5f150ec78ab604b411
tree057ca718af1d30e2bd149100c270ac7100aecaaa
parented8c9a98e60fc731a9d83a7a137d5d84210967f5
s390/time: LPAR offset handling

BugLink: http://bugs.launchpad.net/bugs/1644505
It is possible to specify a user offset for the TOD clock, e.g. +2 hours.
The TOD clock will carry this offset even if the clock is synchronized
with STP. This makes the time stamps acquired with get_sync_clock()
useless as another LPAR migth use a different TOD offset.

Use the PTFF instrution to get the TOD epoch difference and subtract
it from the TOD clock value to get a physical timestamp. As the epoch
difference contains the sync check delta as well the LPAR offset value
to the physical clock needs to be refreshed after each clock
synchronization.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
(cherry picked from commit 4027789192d149678262ad606b2d7e2a61bed0f2)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
Acked-by: Colin Ian King <colin.king@canonical.com>
Acked-by: Tim Gardner <tim.gardner@canonical.com>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
arch/s390/include/asm/timex.h
arch/s390/kernel/early.c
arch/s390/kernel/time.c
drivers/s390/block/dasd_eckd.c