1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17#include <asm/asmmacro.h>
18#include <asm/errno.h>
19#include <asm/asm-offsets.h>
20#include <asm/percpu.h>
21#include <asm/thread_info.h>
22#include <asm/sal.h>
23#include <asm/signal.h>
24#include <asm/system.h>
25#include <asm/unistd.h>
26
27#include "entry.h"
28#include "paravirt_inst.h"
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52ENTRY(fsys_ni_syscall)
53 .prologue
54 .altrp b6
55 .body
56 mov r8=ENOSYS
57 mov r10=-1
58 FSYS_RETURN
59END(fsys_ni_syscall)
60
61ENTRY(fsys_getpid)
62 .prologue
63 .altrp b6
64 .body
65 add r17=IA64_TASK_GROUP_LEADER_OFFSET,r16
66 ;;
67 ld8 r17=[r17]
68 add r9=TI_FLAGS+IA64_TASK_SIZE,r16
69 ;;
70 ld4 r9=[r9]
71 add r17=IA64_TASK_TGIDLINK_OFFSET,r17
72 ;;
73 and r9=TIF_ALLWORK_MASK,r9
74 ld8 r17=[r17]
75 ;;
76 add r8=IA64_PID_LEVEL_OFFSET,r17
77 ;;
78 ld4 r8=[r8]
79 add r17=IA64_PID_UPID_OFFSET,r17
80 ;;
81 shl r8=r8,IA64_UPID_SHIFT
82 ;;
83 add r17=r17,r8
84 ;;
85 ld4 r8=[r17]
86 ;;
87 mov r17=0
88 ;;
89 cmp.ne p8,p0=0,r9
90(p8) br.spnt.many fsys_fallback_syscall
91 FSYS_RETURN
92END(fsys_getpid)
93
94ENTRY(fsys_getppid)
95 .prologue
96 .altrp b6
97 .body
98 add r17=IA64_TASK_GROUP_LEADER_OFFSET,r16
99 ;;
100 ld8 r17=[r17]
101 add r9=TI_FLAGS+IA64_TASK_SIZE,r16
102 ;;
103
104 ld4 r9=[r9]
105 add r17=IA64_TASK_REAL_PARENT_OFFSET,r17
106 ;;
107 and r9=TIF_ALLWORK_MASK,r9
108
1091: ld8 r18=[r17]
110 ;;
111 cmp.ne p8,p0=0,r9
112 add r8=IA64_TASK_TGID_OFFSET,r18
113 ;;
114
115
116
117
118
119 ld4.acq r8=[r8]
120#ifdef CONFIG_SMP
121
122
123
124 ld8 r19=[r17]
125(p8) br.spnt.many fsys_fallback_syscall
126 ;;
127 cmp.ne p6,p0=r18,r19
128 mov r19=0
129(p6) br.cond.spnt.few 1b
130 ;;
131 mov r17=0
132 mov r18=0
133#else
134 mov r17=0
135 mov r18=0
136 mov r19=0
137#endif
138 FSYS_RETURN
139END(fsys_getppid)
140
141ENTRY(fsys_set_tid_address)
142 .prologue
143 .altrp b6
144 .body
145 add r9=TI_FLAGS+IA64_TASK_SIZE,r16
146 add r17=IA64_TASK_TGIDLINK_OFFSET,r16
147 ;;
148 ld4 r9=[r9]
149 tnat.z p6,p7=r32
150 ld8 r17=[r17]
151 ;;
152 and r9=TIF_ALLWORK_MASK,r9
153 add r8=IA64_PID_LEVEL_OFFSET,r17
154 add r18=IA64_TASK_CLEAR_CHILD_TID_OFFSET,r16
155 ;;
156 ld4 r8=[r8]
157 add r17=IA64_PID_UPID_OFFSET,r17
158 ;;
159 shl r8=r8,IA64_UPID_SHIFT
160 ;;
161 add r17=r17,r8
162 ;;
163 ld4 r8=[r17]
164 ;;
165 cmp.ne p8,p0=0,r9
166 mov r17=-1
167 ;;
168(p6) st8 [r18]=r32
169(p7) st8 [r18]=r17
170(p8) br.spnt.many fsys_fallback_syscall
171 ;;
172 mov r17=0
173 mov r18=0
174 FSYS_RETURN
175END(fsys_set_tid_address)
176
177
178
179#endif
180
181
182#endif
183#define CLOCK_REALTIME 0
184#define CLOCK_MONOTONIC 1
185#define CLOCK_DIVIDE_BY_1000 0x4000
186#define CLOCK_ADD_MONOTONIC 0x8000
187
188ENTRY(fsys_gettimeofday)
189 .prologue
190 .altrp b6
191 .body
192 mov r31 = r32
193 tnat.nz p6,p0 = r33
194(p6) br.cond.spnt.few .fail_einval
195 mov r30 = CLOCK_DIVIDE_BY_1000
196 ;;
197.gettime:
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241 add r2 = TI_FLAGS+IA64_TASK_SIZE,r16
242 tnat.nz p6,p0 = r31
243(p6) br.cond.spnt.few .fail_einval
244 movl r20 = fsyscall_gtod_data
245 ;;
246 ld4 r2 = [r2]
247 movl r29 = itc_jitter_data
248 add r22 = IA64_GTOD_WALL_TIME_OFFSET,r20
249 add r21 = IA64_CLKSRC_MMIO_OFFSET,r20
250 mov pr = r30,0xc000
251 ;;
252 and r2 = TIF_ALLWORK_MASK,r2
253 add r19 = IA64_ITC_LASTCYCLE_OFFSET,r29
254(p15) add r22 = IA64_GTOD_MONO_TIME_OFFSET,r20
255 ;;
256 add r26 = IA64_CLKSRC_CYCLE_LAST_OFFSET,r20
257 cmp.ne p6, p0 = 0, r2
258(p6) br.cond.spnt.many fsys_fallback_syscall
259 ;;
260
261.time_redo:
262 ld4.acq r28 = [r20]
263 ;;
264 and r28 = ~1,r28
265 ;;
266 ld8 r30 = [r21]
267 add r24 = IA64_CLKSRC_MULT_OFFSET,r20
268 ld4 r2 = [r29]
269 add r23 = IA64_CLKSRC_SHIFT_OFFSET,r20
270 add r14 = IA64_CLKSRC_MASK_OFFSET,r20
271 ;;
272 ld4 r3 = [r24]
273 ld8 r14 = [r14]
274 cmp.eq p8,p9 = 0,r30
275 ;;
276 setf.sig f7 = r3
277(p8) cmp.ne p13,p0 = r2,r0
278 ld4 r23 = [r23]
279 ld8 r24 = [r26]
280(p9) cmp.eq p13,p0 = 0,r30
281 ;;
282 .pred.rel.mutex p8,p9
283 MOV_FROM_ITC(p8, p6, r2, r10)
284(p9) ld8 r2 = [r30]
285(p13) ld8 r25 = [r19]
286 ld8 r9 = [r22],IA64_TIMESPEC_TV_NSEC_OFFSET
287 ;;
288 ld8 r8 = [r22],-IA64_TIMESPEC_TV_NSEC_OFFSET
289(p13) sub r3 = r25,r2
290 ;;
291(p13) cmp.gt.unc p6,p7 = r3,r0
292 sub r10 = r2,r24
293 ;;
294(p6) sub r10 = r25,r24
295(p7) mov ar.ccv = r25
296 ;;
297(p7) cmpxchg8.rel r3 = [r19],r2,ar.ccv
298 ;;
299(p7) cmp.ne p7,p0 = r25,r3
300 ;;
301(p7) sub r10 = r3,r24
302 ;;
303 and r10 = r10,r14
304 ;;
305 setf.sig f8 = r10
306 nop.i 123
307 ;;
308
309EX(.fail_efault, probe.w.fault r31, 3)
310 xmpy.l f8 = f8,f7
311 ;;
312 getf.sig r2 = f8
313 mf
314 ;;
315 ld4 r10 = [r20]
316 shr.u r2 = r2,r23
317 ;;
318 add r8 = r8,r2
319 cmp4.ne p7,p0 = r28,r10
320(p7) br.cond.dpnt.few .time_redo
321
322
323 mov r10 = r0
324 movl r2 = 1000000000
325 add r23 = IA64_TIMESPEC_TV_NSEC_OFFSET, r31
326(p14) movl r3 = 2361183241434822607
327 ;;
328.time_normalize:
329 mov r21 = r8
330 cmp.ge p6,p0 = r8,r2
331(p14) shr.u r20 = r8, 3
332 ;;
333(p14) setf.sig f8 = r20
334(p6) sub r8 = r8,r2
335(p6) add r9 = 1,r9
336(p14) setf.sig f7 = r3
337(p6) br.cond.dpnt.few .time_normalize
338 ;;
339
340
341
342EX(.fail_efault, probe.w.fault r23, 3)
343(p14) xmpy.hu f8 = f8, f7
344 ;;
345(p14) getf.sig r2 = f8
346 ;;
347 mov r8 = r0
348(p14) shr.u r21 = r2, 4
349 ;;
350EX(.fail_efault, st8 [r31] = r9)
351EX(.fail_efault, st8 [r23] = r21)
352 FSYS_RETURN
353.fail_einval:
354 mov r8 = EINVAL
355 mov r10 = -1
356 FSYS_RETURN
357.fail_efault:
358 mov r8 = EFAULT
359 mov r10 = -1
360 FSYS_RETURN
361END(fsys_gettimeofday)
362
363ENTRY(fsys_clock_gettime)
364 .prologue
365 .altrp b6
366 .body
367 cmp4.ltu p6, p0 = CLOCK_MONOTONIC, r32
368
369(p6) br.spnt.few fsys_fallback_syscall
370 mov r31 = r33
371 shl r30 = r32,15
372 br.many .gettime
373END(fsys_clock_gettime)
374
375
376
377
378
379
380#endif
381ENTRY(fsys_rt_sigprocmask)
382 .prologue
383 .altrp b6
384 .body
385
386 add r2=IA64_TASK_BLOCKED_OFFSET,r16
387 add r9=TI_FLAGS+IA64_TASK_SIZE,r16
388 cmp4.ltu p6,p0=SIG_SETMASK,r32
389
390 cmp.ne p15,p0=r0,r34
391 tnat.nz p8,p0=r34
392 add r31=IA64_TASK_SIGHAND_OFFSET,r16
393 ;;
394 ld8 r3=[r2]
395 ld4 r9=[r9]
396 tnat.nz.or p6,p0=r35
397
398 cmp.ne.or p6,p0=_NSIG_WORDS*8,r35
399 tnat.nz.or p6,p0=r32
400(p6) br.spnt.few .fail_einval
401 ;;
402#ifdef CONFIG_SMP
403 ld8 r31=[r31]
404#endif
405 and r9=TIF_ALLWORK_MASK,r9
406 tnat.nz.or p8,p0=r33
407 ;;
408 cmp.ne p7,p0=0,r9
409 cmp.eq p6,p0=r0,r33
410 add r31=IA64_SIGHAND_SIGLOCK_OFFSET,r31
411(p8) br.spnt.few .fail_efault
412(p7) br.spnt.many fsys_fallback_syscall
413(p6) br.dpnt.many .store_mask
414
415
416
417EX(.fail_efault, probe.r.fault r33, 3)
418EX(.fail_efault, ld8 r14=[r33])
419 mov r17=(1 << (SIGKILL - 1)) | (1 << (SIGSTOP - 1))
420 ;;
421
422 RSM_PSR_I(p0, r18, r19)
423 andcm r14=r14,r17
424 mov r8=EINVAL
425
426#ifdef CONFIG_SMP
427
428 ld4 r17=[r31]
429 ;;
430 mov.m ar.ccv=r17
431 extr.u r9=r17,17,15
432 adds r19=1,r17
433 extr.u r18=r17,0,15
434 ;;
435 cmp.eq p6,p7=r9,r18
436 ;;
437(p6) cmpxchg4.acq r9=[r31],r19,ar.ccv
438(p6) dep.z r20=r19,1,15
439(p7) br.cond.spnt.many .lock_contention
440 ;;
441 cmp4.eq p0,p7=r9,r17
442 adds r31=2,r31
443(p7) br.cond.spnt.many .lock_contention
444 ld8 r3=[r2]
445 ;;
446#else
447 ld8 r3=[r2]
448#endif
449 add r18=IA64_TASK_PENDING_OFFSET+IA64_SIGPENDING_SIGNAL_OFFSET,r16
450 add r19=IA64_TASK_SIGNAL_OFFSET,r16
451 cmp4.eq p6,p0=SIG_BLOCK,r32
452 ;;
453 ld8 r19=[r19]
454 cmp4.eq p7,p0=SIG_UNBLOCK,r32
455 cmp4.eq p8,p0=SIG_SETMASK,r32
456 ;;
457 ld8 r18=[r18]
458 .pred.rel.mutex p6,p7,p8
459(p6) or r14=r3,r14
460(p7) andcm r14=r3,r14
461
462(p8) mov r14=r14
463(p6) mov r8=0
464
465 add r17=IA64_SIGNAL_GROUP_STOP_COUNT_OFFSET,r19
466
467 add r19=IA64_SIGNAL_SHARED_PENDING_OFFSET+IA64_SIGPENDING_SIGNAL_OFFSET,r19
468 ;;
469 ld4 r17=[r17]
470(p7) mov r8=0
471
472 ld8 r19=[r19]
473 ;;
474 cmp4.gt p6,p7=r17,r0
475(p8) mov r8=0
476
477 or r18=r18,r19
478 ;;
479
480 andcm r18=r18,r14
481 add r9=TI_FLAGS+IA64_TASK_SIZE,r16
482 ;;
483
484(p7) cmp.ne.or.andcm p6,p7=r18,r0
485 mov r19=0
486(p6) br.cond.dpnt.many .sig_pending
487 ;;
488
4891: ld4 r17=[r9]
490 ;;
491 mov ar.ccv=r17
492 and r18=~_TIF_SIGPENDING,r17
493 ;;
494
495 st8 [r2]=r14
496 cmpxchg4.acq r8=[r9],r18,ar.ccv
497 ;;
498 cmp.ne p6,p0=r17,r8
499(p6) br.cond.spnt.few 1b
500
501#ifdef CONFIG_SMP
502
503 st2.rel [r31]=r20
504 mov r20=0
505#endif
506 SSM_PSR_I(p0, p9, r31)
507 ;;
508
509 srlz.d
510 mov r18=0
511
512.store_mask:
513EX(.fail_efault, (p15) probe.w.fault r34, 3)
514EX(.fail_efault, (p15) st8 [r34]=r3)
515 mov r2=0
516 mov r3=0
517 mov r8=0
518 mov r9=0
519 mov r14=0
520 mov r17=0
521 mov r31=0
522 FSYS_RETURN
523
524.sig_pending:
525#ifdef CONFIG_SMP
526
527 st2.rel [r31]=r20
528#endif
529 SSM_PSR_I(p0, p9, r17)
530 ;;
531 srlz.d
532 br.sptk.many fsys_fallback_syscall
533
534#ifdef CONFIG_SMP
535.lock_contention:
536
537 SSM_PSR_I(p0, p9, r17)
538 ;;
539 srlz.d
540 br.sptk.many fsys_fallback_syscall
541#endif
542END(fsys_rt_sigprocmask)
543
544
545
546
547
548ENTRY(fsys_getcpu)
549 .prologue
550 .altrp b6
551 .body
552 ;;
553 add r2=TI_FLAGS+IA64_TASK_SIZE,r16
554 tnat.nz p6,p0 = r32
555 add r3=TI_CPU+IA64_TASK_SIZE,r16
556 ;;
557 ld4 r3=[r3]
558 ld4 r2=[r2]
559(p6) br.cond.spnt.few .fail_einval
560 ;;
561 tnat.nz p7,p0 = r33
562(p7) br.cond.spnt.few .fail_einval
563#ifdef CONFIG_NUMA
564 movl r17=cpu_to_node_map
565 ;;
566EX(.fail_efault, probe.w.fault r32, 3)
567EX(.fail_efault, probe.w.fault r33, 3)
568 shladd r18=r3,1,r17
569 ;;
570 ld2 r20=[r18]
571 and r2 = TIF_ALLWORK_MASK,r2
572 ;;
573 cmp.ne p8,p0=0,r2
574(p8) br.spnt.many fsys_fallback_syscall
575 ;;
576 ;;
577EX(.fail_efault, st4 [r32] = r3)
578EX(.fail_efault, st2 [r33] = r20)
579 mov r8=0
580 ;;
581#else
582EX(.fail_efault, probe.w.fault r32, 3)
583EX(.fail_efault, probe.w.fault r33, 3)
584 and r2 = TIF_ALLWORK_MASK,r2
585 ;;
586 cmp.ne p8,p0=0,r2
587(p8) br.spnt.many fsys_fallback_syscall
588 ;;
589EX(.fail_efault, st4 [r32] = r3)
590EX(.fail_efault, st2 [r33] = r0)
591 mov r8=0
592 ;;
593#endif
594 FSYS_RETURN
595END(fsys_getcpu)
596
597ENTRY(fsys_fallback_syscall)
598 .prologue
599 .altrp b6
600 .body
601
602
603
604
605 adds r17=-1024,r15
606 movl r14=sys_call_table
607 ;;
608 RSM_PSR_I(p0, r26, r27)
609 shladd r18=r17,3,r14
610 ;;
611 ld8 r18=[r18]
612 MOV_FROM_PSR(p0, r29, r26)
613 mov r27=ar.rsc
614 mov r21=ar.fpsr
615 mov r26=ar.pfs
616END(fsys_fallback_syscall)
617
618GLOBAL_ENTRY(paravirt_fsys_bubble_down)
619 .prologue
620 .altrp b6
621 .body
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674# define PSR_ONE_BITS ((3 << IA64_PSR_CPL0_BIT) \
675 | (0x1 << IA64_PSR_RI_BIT) \
676 | IA64_PSR_BN | IA64_PSR_I)
677
678 invala
679 movl r14=ia64_ret_from_syscall
680
681 nop.m 0
682 movl r28=__kernel_syscall_via_break
683 ;;
684
685 mov r2=r16
686 adds r16=IA64_TASK_THREAD_ON_USTACK_OFFSET,r16
687 mov r31=pr
688 ;;
689 st1 [r16]=r0
690 addl r22=IA64_RBS_OFFSET,r2
691 add r3=TI_FLAGS+IA64_TASK_SIZE,r2
692 ;;
693 ld4 r3=[r3]
694 lfetch.fault.excl.nt1 [r22]
695 nop.i 0
696 ;;
697 mov ar.rsc=0
698#ifdef CONFIG_VIRT_CPU_ACCOUNTING
699 MOV_FROM_ITC(p0, p6, r30, r23)
700#else
701 nop.m 0
702#endif
703 nop.i 0
704 ;;
705 mov r23=ar.bspstore
706 mov.m r24=ar.rnat
707 nop.i 0
708 ;;
709 mov ar.bspstore=r22
710 movl r8=PSR_ONE_BITS
711 ;;
712 mov r25=ar.unat
713 mov r19=b6
714 mov r20=r1
715 ;;
716 or r29=r8,r29
717 mov b6=r18
718 addl r1=IA64_STK_OFFSET-IA64_PT_REGS_SIZE,r2
719
720 mov r18=ar.bsp
721 cmp.ne pKStk,pUStk=r0,r0
722 br.call.sptk.many b7=ia64_syscall_setup
723 ;;
724#ifdef CONFIG_VIRT_CPU_ACCOUNTING
725
726 add r16=TI_AC_STAMP+IA64_TASK_SIZE,r2
727 add r17=TI_AC_LEAVE+IA64_TASK_SIZE,r2
728 ;;
729 ld8 r18=[r16],TI_AC_STIME-TI_AC_STAMP
730 ld8 r19=[r17],TI_AC_UTIME-TI_AC_LEAVE
731 ;;
732 ld8 r20=[r16],TI_AC_STAMP-TI_AC_STIME
733 ld8 r21=[r17]
734 sub r22=r19,r18
735 ;;
736 st8 [r16]=r30,TI_AC_STIME-TI_AC_STAMP
737 sub r18=r30,r19
738 ;;
739 add r20=r20,r22
740 add r21=r21,r18
741 ;;
742 st8 [r16]=r20
743 st8 [r17]=r21
744 ;;
745#endif
746 mov ar.rsc=0x3
747 mov rp=r14
748 and r3=_TIF_SYSCALL_TRACEAUDIT,r3
749 ;;
750 SSM_PSR_I(p0, p6, r22)
751 cmp.eq p8,p0=r3,r0
752(p10) br.cond.spnt.many ia64_ret_from_syscall
753
754 nop.m 0
755(p8) br.call.sptk.many b6=b6
756 br.cond.spnt ia64_trace_syscall
757END(paravirt_fsys_bubble_down)
758
759 .rodata
760 .align 8
761 .globl paravirt_fsyscall_table
762
763 data8 paravirt_fsys_bubble_down
764paravirt_fsyscall_table:
765 data8 fsys_ni_syscall
766 data8 0
767 data8 0
768 data8 0
769 data8 0
770 data8 0
771 data8 0
772 data8 0
773 data8 0
774 data8 0
775 data8 0
776 data8 0
777 data8 0
778 data8 0
779 data8 0
780 data8 0
781 data8 0
782 data8 fsys_getpid
783 data8 fsys_getppid
784 data8 0
785 data8 0
786 data8 0
787 data8 0
788 data8 0
789 data8 0
790 data8 0
791 data8 0
792 data8 0
793 data8 0
794 data8 0
795 data8 0
796 data8 0
797 data8 0
798 data8 0
799 data8 0
800 data8 0
801 data8 0
802 data8 0
803 data8 0
804 data8 0
805 data8 0
806 data8 0
807 data8 0
808 data8 0
809 data8 0
810 data8 0
811 data8 0
812 data8 0
813 data8 0
814 data8 0
815 data8 0
816 data8 0
817 data8 0
818 data8 0
819 data8 0
820 data8 0
821 data8 0
822 data8 0
823 data8 0
824 data8 0
825 data8 0
826 data8 0
827 data8 0
828 data8 fsys_gettimeofday
829 data8 0
830 data8 0
831 data8 0
832 data8 0
833 data8 0
834 data8 0
835 data8 0
836 data8 0
837 data8 0
838 data8 0
839 data8 0
840 data8 0
841 data8 0
842 data8 0
843 data8 0
844 data8 0
845 data8 0
846 data8 0
847 data8 0
848 data8 0
849 data8 0
850 data8 0
851 data8 0
852 data8 0
853 data8 0
854 data8 0
855 data8 0
856 data8 0
857 data8 0
858 data8 0
859 data8 0
860 data8 0
861 data8 0
862 data8 0
863 data8 0
864 data8 0
865 data8 0
866 data8 0
867 data8 0
868 data8 0
869 data8 0
870 data8 0
871 data8 0
872 data8 0
873 data8 0
874 data8 0
875 data8 0
876 data8 0
877 data8 0
878 data8 0
879 data8 0
880 data8 0
881 data8 0
882 data8 0
883 data8 0
884 data8 0
885 data8 0
886 data8 0
887 data8 0
888 data8 0
889 data8 0
890 data8 0
891 data8 0
892 data8 0
893 data8 0
894 data8 0
895 data8 0
896 data8 0
897 data8 0
898 data8 0
899 data8 0
900 data8 0
901 data8 0
902 data8 0
903 data8 0
904 data8 0
905 data8 0
906 data8 0
907 data8 0
908 data8 0
909 data8 0
910 data8 0
911 data8 0
912 data8 0
913 data8 0
914 data8 0
915 data8 0
916 data8 0
917 data8 0
918 data8 0
919 data8 0
920 data8 fsys_rt_sigprocmask
921 data8 0
922 data8 0
923 data8 0
924 data8 0
925 data8 0
926 data8 0
927 data8 0
928 data8 0
929 data8 0
930 data8 0
931 data8 0
932 data8 0
933 data8 0
934 data8 0
935 data8 0
936 data8 0
937 data8 0
938 data8 0
939 data8 0
940 data8 0
941 data8 0
942 data8 0
943 data8 0
944 data8 0
945 data8 0
946 data8 0
947 data8 0
948 data8 0
949 data8 0
950 data8 0
951 data8 0
952 data8 0
953 data8 0
954 data8 0
955 data8 0
956 data8 0
957 data8 0
958 data8 0
959 data8 0
960 data8 0
961 data8 0
962 data8 0
963 data8 0
964 data8 0
965 data8 0
966 data8 0
967 data8 0
968 data8 0
969 data8 0
970 data8 0
971 data8 0
972 data8 0
973 data8 0
974 data8 fsys_set_tid_address
975 data8 0
976 data8 0
977 data8 0
978 data8 0
979 data8 0
980 data8 0
981 data8 0
982 data8 0
983 data8 0
984 data8 0
985 data8 0
986 data8 0
987 data8 0
988 data8 0
989 data8 0
990 data8 0
991 data8 0
992 data8 0
993 data8 0
994 data8 0
995 data8 fsys_clock_gettime
996 data8 0
997 data8 0
998 data8 0
999 data8 0
1000 data8 0
1001 data8 0
1002 data8 0
1003 data8 0
1004 data8 0
1005 data8 0
1006 data8 0
1007 data8 0
1008 data8 0
1009 data8 0
1010 data8 0
1011 data8 0
1012 data8 0
1013 data8 0
1014 data8 0
1015 data8 0
1016 data8 0
1017 data8 0
1018 data8 0
1019 data8 0
1020 data8 0
1021 data8 0
1022 data8 0
1023 data8 0
1024 data8 0
1025 data8 0
1026 data8 0
1027 data8 0
1028 data8 0
1029 data8 0
1030 data8 0
1031 data8 0
1032 data8 0
1033 data8 0
1034 data8 0
1035 data8 0
1036 data8 0
1037 data8 0
1038 data8 0
1039 data8 0
1040 data8 0
1041 data8 0
1042 data8 0
1043 data8 0
1044 data8 0
1045 data8 fsys_getcpu
1046
1047
1048 .zero:
1049 .space paravirt_fsyscall_table + 8*NR_syscalls - .zero, 0
1050