1
2
3
4
5
6
7
8
9 #include <asm/vdso.h>
10 #include <asm/asm-offsets.h>
11 #include <asm/unistd.h>
12 #include <asm/dwarf.h>
13
14 .text
15 .align 4
16 .globl __kernel_clock_getres
17 .type __kernel_clock_getres,@function
18 __kernel_clock_getres:
19 CFI_STARTPROC
20 larl %r1,4f
21 cghi %r2,__CLOCK_REALTIME_COARSE
22 je 0f
23 cghi %r2,__CLOCK_MONOTONIC_COARSE
24 je 0f
25 larl %r1,3f
26 cghi %r2,__CLOCK_REALTIME
27 je 0f
28 cghi %r2,__CLOCK_MONOTONIC
29 je 0f
30 cghi %r2,__CLOCK_THREAD_CPUTIME_ID
31 je 0f
32 cghi %r2,-2
33 jne 2f
34 larl %r5,_vdso_data
35 icm %r0,15,__LC_ECTG_OK(%r5)
36 jz 2f
37 0: ltgr %r3,%r3
38 jz 1f
39 lg %r0,0(%r1)
40 xc 0(8,%r3),0(%r3)
41 stg %r0,8(%r3)
42 1: lghi %r2,0
43 br %r14
44 2: lghi %r1,__NR_clock_getres
45 svc 0
46 br %r14
47 CFI_ENDPROC
48 3: .quad __CLOCK_REALTIME_RES
49 4: .quad __CLOCK_COARSE_RES
50 .size __kernel_clock_getres,.-__kernel_clock_getres