• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Assembly code for making powerpc64le syscalls.
2#
3# powerpc64le syscall argument register ordering is the same as the
4# powerpc64le userspace argument register ordering except that the syscall
5# number (nr) is passed in r0.
6#
7# outline.rs takes care of reordering the nr argument to the end for us,
8# so we only need to move nr into r0.
9
10    .file       "powerpc64le.s"
11    .machine    power8
12    .abiversion 2
13
14    .section    .text.rustix_syscall0_nr_last,"ax",@progbits
15    .p2align    2
16    .weak       rustix_syscall0_nr_last
17    .hidden     rustix_syscall0_nr_last
18    .type       rustix_syscall0_nr_last, @function
19rustix_syscall0_nr_last:
20    .cfi_startproc
21    mr     0, 3
22    sc
23    bnslr
24    neg 3, 3
25    blr
26    .cfi_endproc
27    .size rustix_syscall0_nr_last, .-rustix_syscall0_nr_last
28
29    .section    .text.rustix_syscall1_nr_last,"ax",@progbits
30    .p2align    2
31    .weak       rustix_syscall1_nr_last
32    .hidden     rustix_syscall1_nr_last
33    .type       rustix_syscall1_nr_last, @function
34rustix_syscall1_nr_last:
35    .cfi_startproc
36    mr     0, 4
37    sc
38    bnslr
39    neg 3, 3
40    blr
41    .cfi_endproc
42    .size rustix_syscall1_nr_last, .-rustix_syscall1_nr_last
43
44    .section    .text.rustix_syscall1_noreturn_nr_last,"ax",@progbits
45    .p2align    2
46    .weak       rustix_syscall1_noreturn_nr_last
47    .hidden     rustix_syscall1_noreturn_nr_last
48    .type       rustix_syscall1_noreturn_nr_last, @function
49rustix_syscall1_noreturn_nr_last:
50    .cfi_startproc
51    mr     0, 4
52    sc
53    trap
54    .cfi_endproc
55    .size rustix_syscall1_noreturn_nr_last, .-rustix_syscall1_noreturn_nr_last
56
57    .section    .text.rustix_syscall2_nr_last,"ax",@progbits
58    .p2align    2
59    .weak       rustix_syscall2_nr_last
60    .hidden     rustix_syscall2_nr_last
61    .type       rustix_syscall2_nr_last, @function
62rustix_syscall2_nr_last:
63    .cfi_startproc
64    mr     0, 5
65    sc
66    bnslr
67    neg 3, 3
68    blr
69    .cfi_endproc
70    .size rustix_syscall2_nr_last, .-rustix_syscall2_nr_last
71
72    .section    .text.rustix_syscall3_nr_last,"ax",@progbits
73    .p2align    2
74    .weak       rustix_syscall3_nr_last
75    .hidden     rustix_syscall3_nr_last
76    .type       rustix_syscall3_nr_last, @function
77rustix_syscall3_nr_last:
78    .cfi_startproc
79    mr     0, 6
80    sc
81    bnslr
82    neg 3, 3
83    blr
84    .cfi_endproc
85    .size rustix_syscall3_nr_last, .-rustix_syscall3_nr_last
86
87    .section    .text.rustix_syscall4_nr_last,"ax",@progbits
88    .p2align    2
89    .weak       rustix_syscall4_nr_last
90    .hidden     rustix_syscall4_nr_last
91    .type       rustix_syscall4_nr_last, @function
92rustix_syscall4_nr_last:
93    .cfi_startproc
94    mr     0, 7
95    sc
96    bnslr
97    neg 3, 3
98    blr
99    .cfi_endproc
100    .size rustix_syscall4_nr_last, .-rustix_syscall4_nr_last
101
102    .section    .text.rustix_syscall5_nr_last,"ax",@progbits
103    .p2align    2
104    .weak       rustix_syscall5_nr_last
105    .hidden     rustix_syscall5_nr_last
106    .type       rustix_syscall5_nr_last, @function
107rustix_syscall5_nr_last:
108    .cfi_startproc
109    mr     0, 8
110    sc
111    bnslr
112    neg 3, 3
113    blr
114    .cfi_endproc
115    .size rustix_syscall5_nr_last, .-rustix_syscall5_nr_last
116
117    .section    .text.rustix_syscall6_nr_last,"ax",@progbits
118    .p2align    2
119    .weak       rustix_syscall6_nr_last
120    .hidden     rustix_syscall6_nr_last
121    .type       rustix_syscall6_nr_last, @function
122rustix_syscall6_nr_last:
123    .cfi_startproc
124    mr     0, 9
125    sc
126    bnslr
127    neg 3, 3
128    blr
129    .cfi_endproc
130    .size rustix_syscall6_nr_last, .-rustix_syscall6_nr_last
131
132    .section .note.GNU-stack,"",@progbits
133