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
19 rustix_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
34 rustix_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
49 rustix_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
62 rustix_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
77 rustix_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
92 rustix_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
107 rustix_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
122 rustix_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