]>
git.proxmox.com Git - rustc.git/blob - vendor/rustix/src/backend/linux_raw/arch/asm/arm.rs
1 //! arm Linux system calls.
3 use crate::backend
::reg
::{
4 ArgReg
, FromAsm
, RetReg
, SyscallNumber
, ToAsm
, A0
, A1
, A2
, A3
, A4
, A5
, R0
,
9 pub(in crate::backend
) unsafe fn syscall0_readonly(nr
: SyscallNumber
<'_
>) -> RetReg
<R0
> {
15 options(nostack
, preserves_flags
, readonly
)
21 pub(in crate::backend
) unsafe fn syscall1(nr
: SyscallNumber
<'_
>, a0
: ArgReg
<'_
, A0
>) -> RetReg
<R0
> {
26 inlateout("r0") a0
.to_asm() => r0
,
27 options(nostack
, preserves_flags
)
33 pub(in crate::backend
) unsafe fn syscall1_readonly(
34 nr
: SyscallNumber
<'_
>,
41 inlateout("r0") a0
.to_asm() => r0
,
42 options(nostack
, preserves_flags
, readonly
)
48 pub(in crate::backend
) unsafe fn syscall1_noreturn(nr
: SyscallNumber
<'_
>, a0
: ArgReg
<'_
, A0
>) -> ! {
58 pub(in crate::backend
) unsafe fn syscall2(
59 nr
: SyscallNumber
<'_
>,
67 inlateout("r0") a0
.to_asm() => r0
,
69 options(nostack
, preserves_flags
)
75 pub(in crate::backend
) unsafe fn syscall2_readonly(
76 nr
: SyscallNumber
<'_
>,
84 inlateout("r0") a0
.to_asm() => r0
,
86 options(nostack
, preserves_flags
, readonly
)
92 pub(in crate::backend
) unsafe fn syscall3(
93 nr
: SyscallNumber
<'_
>,
101 in("r7") nr
.to_asm(),
102 inlateout("r0") a0
.to_asm() => r0
,
103 in("r1") a1
.to_asm(),
104 in("r2") a2
.to_asm(),
105 options(nostack
, preserves_flags
)
107 FromAsm
::from_asm(r0
)
111 pub(in crate::backend
) unsafe fn syscall3_readonly(
112 nr
: SyscallNumber
<'_
>,
120 in("r7") nr
.to_asm(),
121 inlateout("r0") a0
.to_asm() => r0
,
122 in("r1") a1
.to_asm(),
123 in("r2") a2
.to_asm(),
124 options(nostack
, preserves_flags
, readonly
)
126 FromAsm
::from_asm(r0
)
130 pub(in crate::backend
) unsafe fn syscall4(
131 nr
: SyscallNumber
<'_
>,
140 in("r7") nr
.to_asm(),
141 inlateout("r0") a0
.to_asm() => r0
,
142 in("r1") a1
.to_asm(),
143 in("r2") a2
.to_asm(),
144 in("r3") a3
.to_asm(),
145 options(nostack
, preserves_flags
)
147 FromAsm
::from_asm(r0
)
151 pub(in crate::backend
) unsafe fn syscall4_readonly(
152 nr
: SyscallNumber
<'_
>,
161 in("r7") nr
.to_asm(),
162 inlateout("r0") a0
.to_asm() => r0
,
163 in("r1") a1
.to_asm(),
164 in("r2") a2
.to_asm(),
165 in("r3") a3
.to_asm(),
166 options(nostack
, preserves_flags
, readonly
)
168 FromAsm
::from_asm(r0
)
172 pub(in crate::backend
) unsafe fn syscall5(
173 nr
: SyscallNumber
<'_
>,
183 in("r7") nr
.to_asm(),
184 inlateout("r0") a0
.to_asm() => r0
,
185 in("r1") a1
.to_asm(),
186 in("r2") a2
.to_asm(),
187 in("r3") a3
.to_asm(),
188 in("r4") a4
.to_asm(),
189 options(nostack
, preserves_flags
)
191 FromAsm
::from_asm(r0
)
195 pub(in crate::backend
) unsafe fn syscall5_readonly(
196 nr
: SyscallNumber
<'_
>,
206 in("r7") nr
.to_asm(),
207 inlateout("r0") a0
.to_asm() => r0
,
208 in("r1") a1
.to_asm(),
209 in("r2") a2
.to_asm(),
210 in("r3") a3
.to_asm(),
211 in("r4") a4
.to_asm(),
212 options(nostack
, preserves_flags
, readonly
)
214 FromAsm
::from_asm(r0
)
218 pub(in crate::backend
) unsafe fn syscall6(
219 nr
: SyscallNumber
<'_
>,
230 in("r7") nr
.to_asm(),
231 inlateout("r0") a0
.to_asm() => r0
,
232 in("r1") a1
.to_asm(),
233 in("r2") a2
.to_asm(),
234 in("r3") a3
.to_asm(),
235 in("r4") a4
.to_asm(),
236 in("r5") a5
.to_asm(),
237 options(nostack
, preserves_flags
)
239 FromAsm
::from_asm(r0
)
243 pub(in crate::backend
) unsafe fn syscall6_readonly(
244 nr
: SyscallNumber
<'_
>,
255 in("r7") nr
.to_asm(),
256 inlateout("r0") a0
.to_asm() => r0
,
257 in("r1") a1
.to_asm(),
258 in("r2") a2
.to_asm(),
259 in("r3") a3
.to_asm(),
260 in("r4") a4
.to_asm(),
261 in("r5") a5
.to_asm(),
262 options(nostack
, preserves_flags
, readonly
)
264 FromAsm
::from_asm(r0
)