1 use super::error::{Error, Result};
2 
syscall0(mut a: usize) -> Result<usize>3 pub unsafe fn syscall0(mut a: usize) -> Result<usize> {
4     llvm_asm!("swi $$0"
5         : "={r0}"(a)
6         : "{r7}"(a)
7         : "memory"
8         : "volatile");
9 
10     Error::demux(a)
11 }
12 
syscall1(mut a: usize, b: usize) -> Result<usize>13 pub unsafe fn syscall1(mut a: usize, b: usize) -> Result<usize> {
14     llvm_asm!("swi $$0"
15         : "={r0}"(a)
16         : "{r7}"(a), "{r0}"(b)
17         : "memory"
18         : "volatile");
19 
20     Error::demux(a)
21 }
22 
syscall2(mut a: usize, b: usize, c: usize) -> Result<usize>23 pub unsafe fn syscall2(mut a: usize, b: usize, c: usize) -> Result<usize> {
24     llvm_asm!("swi $$0"
25         : "={r0}"(a)
26         : "{r7}"(a), "{r0}"(b), "{r1}"(c)
27         : "memory"
28         : "volatile");
29 
30     Error::demux(a)
31 }
32 
syscall3(mut a: usize, b: usize, c: usize, d: usize) -> Result<usize>33 pub unsafe fn syscall3(mut a: usize, b: usize, c: usize, d: usize) -> Result<usize> {
34     llvm_asm!("swi $$0"
35         : "={r0}"(a)
36         : "{r7}"(a), "{r0}"(b), "{r1}"(c), "{r2}"(d)
37         : "memory"
38         : "volatile");
39 
40     Error::demux(a)
41 }
42 
syscall4(mut a: usize, b: usize, c: usize, d: usize, e: usize) -> Result<usize>43 pub unsafe fn syscall4(mut a: usize, b: usize, c: usize, d: usize, e: usize) -> Result<usize> {
44     llvm_asm!("swi $$0"
45         : "={r0}"(a)
46         : "{r7}"(a), "{r0}"(b), "{r1}"(c), "{r2}"(d), "{r3}"(e)
47         : "memory"
48         : "volatile");
49 
50     Error::demux(a)
51 }
52 
syscall5(mut a: usize, b: usize, c: usize, d: usize, e: usize, f: usize) -> Result<usize>53 pub unsafe fn syscall5(mut a: usize, b: usize, c: usize, d: usize, e: usize, f: usize)
54                        -> Result<usize> {
55     llvm_asm!("swi $$0"
56         : "={r0}"(a)
57         : "{r7}"(a), "{r0}"(b), "{r1}"(c), "{r2}"(d), "{r3}"(e), "{r4}"(f)
58         : "memory"
59         : "volatile");
60 
61     Error::demux(a)
62 }
63