Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
[sfrench/cifs-2.6.git] / arch / s390 / kernel / vdso64 / clock_gettime.S
index 9c3b12626dbae06a77a12b4e186a4bb0eb253e09..5d7b56b49458d03ba885f105a9c07bcdecea019a 100644 (file)
@@ -114,23 +114,12 @@ __kernel_clock_gettime:
        br      %r14
 
        /* CPUCLOCK_VIRT for this thread */
-9:     icm     %r0,15,__VDSO_ECTG_OK(%r5)
+9:     lghi    %r4,0
+       icm     %r0,15,__VDSO_ECTG_OK(%r5)
        jz      12f
-       ear     %r2,%a4
-       llilh   %r4,0x0100
-       sar     %a4,%r4
-       lghi    %r4,0
-       epsw    %r5,0
-       sacf    512                             /* Magic ectg instruction */
+       sacf    256                             /* Magic ectg instruction */
        .insn   ssf,0xc80100000000,__VDSO_ECTG_BASE(4),__VDSO_ECTG_USER(4),4
-       tml     %r5,0x4000
-       jo      11f
-       tml     %r5,0x8000
-       jno     10f
-       sacf    256
-       j       11f
-10:    sacf    0
-11:    sar     %a4,%r2
+       sacf    0
        algr    %r1,%r0                         /* r1 = cputime as TOD value */
        mghi    %r1,1000                        /* convert to nanoseconds */
        srlg    %r1,%r1,12                      /* r1 = cputime in nanosec */