[PATCH 1/2] powerpc/vdso64: Coarse timer support preparatory patch
Santosh Sivaraj
santosh at fossix.org
Mon Sep 18 19:23:35 AEST 2017
Reorganize code to make it easy to introduce CLOCK_REALTIME_COARSE and
CLOCK_MONOTONIC_COARSE timer support.
Signed-off-by: Santosh Sivaraj <santosh at fossix.org>
---
arch/powerpc/kernel/vdso64/gettimeofday.S | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/arch/powerpc/kernel/vdso64/gettimeofday.S b/arch/powerpc/kernel/vdso64/gettimeofday.S
index 382021324883..a0b4943811db 100644
--- a/arch/powerpc/kernel/vdso64/gettimeofday.S
+++ b/arch/powerpc/kernel/vdso64/gettimeofday.S
@@ -60,18 +60,20 @@ V_FUNCTION_END(__kernel_gettimeofday)
*/
V_FUNCTION_BEGIN(__kernel_clock_gettime)
.cfi_startproc
+ mr r11,r4 /* r11 saves tp */
+ mflr r12 /* r12 saves lr */
+ lis r7,NSEC_PER_SEC at h /* want nanoseconds */
+ ori r7,r7,NSEC_PER_SEC at l
+
/* Check for supported clock IDs */
cmpwi cr0,r3,CLOCK_REALTIME
cmpwi cr1,r3,CLOCK_MONOTONIC
cror cr0*4+eq,cr0*4+eq,cr1*4+eq
- bne cr0,99f
+ beq cr0,49f
- mflr r12 /* r12 saves lr */
+ b 99f /* Fallback to syscall */
.cfi_register lr,r12
- mr r11,r4 /* r11 saves tp */
- bl V_LOCAL_FUNC(__get_datapage) /* get data page */
- lis r7,NSEC_PER_SEC at h /* want nanoseconds */
- ori r7,r7,NSEC_PER_SEC at l
+49: bl V_LOCAL_FUNC(__get_datapage) /* get data page */
50: bl V_LOCAL_FUNC(__do_get_tspec) /* get time from tb & kernel */
bne cr1,80f /* if not monotonic, all done */
--
2.13.5
More information about the Linuxppc-dev
mailing list