21 lines
576 B
Zig
21 lines
576 B
Zig
pub const syscall = struct {
|
|
pub fn syscall1(func: usize, arg0: usize) usize {
|
|
return asm volatile ("svc #0"
|
|
: [result] "={x0}" (-> usize),
|
|
: [arg0] "{x0}" (arg0),
|
|
[func] "{x8}" (func),
|
|
: "memory"
|
|
);
|
|
}
|
|
|
|
pub fn syscall2(func: usize, arg0: usize, arg1: usize) usize {
|
|
return asm volatile ("svc #0"
|
|
: [result] "={x0}" (-> usize),
|
|
: [arg0] "{x0}" (arg0),
|
|
[arg1] "{x1}" (arg1),
|
|
[func] "{x8}" (func),
|
|
: "memory"
|
|
);
|
|
}
|
|
};
|