|
@@ -19,7 +19,7 @@ pub unsafe fn syscall1(mut n: usize, a1: usize) -> usize {
|
|
|
asm!(
|
|
|
"int 0x80",
|
|
|
inout("rax") n,
|
|
|
- in("r8") a1,
|
|
|
+ in("rdi") a1,
|
|
|
out("rcx") _,
|
|
|
out("r11") _,
|
|
|
options(nostack),
|
|
@@ -32,8 +32,8 @@ pub unsafe fn syscall2(mut n: usize, a1: usize, a2: usize) -> usize {
|
|
|
asm!(
|
|
|
"int 0x80",
|
|
|
inout("rax") n,
|
|
|
- in("r8") a1,
|
|
|
- in("r9") a2,
|
|
|
+ in("rdi") a1,
|
|
|
+ in("rsi") a2,
|
|
|
out("rcx") _,
|
|
|
out("r11") _,
|
|
|
options(nostack),
|
|
@@ -46,9 +46,9 @@ pub unsafe fn syscall3(mut n: usize, a1: usize, a2: usize, a3: usize) -> usize {
|
|
|
asm!(
|
|
|
"int 0x80",
|
|
|
inout("rax") n,
|
|
|
- in("r8") a1,
|
|
|
- in("r9") a2,
|
|
|
- in("r10") a3,
|
|
|
+ in("rdi") a1,
|
|
|
+ in("rsi") a2,
|
|
|
+ in("rdx") a3,
|
|
|
out("rcx") _,
|
|
|
out("r11") _,
|
|
|
options(nostack),
|
|
@@ -57,93 +57,67 @@ pub unsafe fn syscall3(mut n: usize, a1: usize, a2: usize, a3: usize) -> usize {
|
|
|
}
|
|
|
|
|
|
#[inline(always)]
|
|
|
-pub unsafe fn syscall4(mut n: usize,
|
|
|
- a1: usize,
|
|
|
- a2: usize,
|
|
|
- a3: usize,
|
|
|
- a4: usize)
|
|
|
- -> usize {
|
|
|
+pub unsafe fn syscall4(mut n: usize, a1: usize, a2: usize, a3: usize, a4: usize) -> usize {
|
|
|
asm!(
|
|
|
"int 0x80",
|
|
|
inout("rax") n,
|
|
|
- in("r8") a1,
|
|
|
- in("r9") a2,
|
|
|
- in("r10") a3,
|
|
|
- in("r11") a4,
|
|
|
+ in("rdi") a1,
|
|
|
+ in("rsi") a2,
|
|
|
+ in("rdx") a3,
|
|
|
+ in("r10") a4,
|
|
|
out("rcx") _,
|
|
|
+ out("r11") _,
|
|
|
options(nostack),
|
|
|
);
|
|
|
n
|
|
|
}
|
|
|
|
|
|
#[inline(always)]
|
|
|
-pub unsafe fn syscall5(mut n: usize,
|
|
|
- a1: usize,
|
|
|
- a2: usize,
|
|
|
- a3: usize,
|
|
|
- a4: usize,
|
|
|
- a5: usize)
|
|
|
- -> usize {
|
|
|
+pub unsafe fn syscall5(
|
|
|
+ mut n: usize,
|
|
|
+ a1: usize,
|
|
|
+ a2: usize,
|
|
|
+ a3: usize,
|
|
|
+ a4: usize,
|
|
|
+ a5: usize,
|
|
|
+) -> usize {
|
|
|
asm!(
|
|
|
"int 0x80",
|
|
|
inout("rax") n,
|
|
|
- in("r8") a1,
|
|
|
- in("r9") a2,
|
|
|
- in("r10") a3,
|
|
|
- in("r11") a4,
|
|
|
- in("r12") a5,
|
|
|
+ in("rdi") a1,
|
|
|
+ in("rsi") a2,
|
|
|
+ in("rdx") a3,
|
|
|
+ in("r10") a4,
|
|
|
+ in("r8") a5,
|
|
|
out("rcx") _,
|
|
|
+ out("r11") _,
|
|
|
options(nostack),
|
|
|
);
|
|
|
n
|
|
|
}
|
|
|
|
|
|
#[inline(always)]
|
|
|
-pub unsafe fn syscall6(mut n: usize,
|
|
|
- a1: usize,
|
|
|
- a2: usize,
|
|
|
- a3: usize,
|
|
|
- a4: usize,
|
|
|
- a5: usize,
|
|
|
- a6: usize)
|
|
|
- -> usize {
|
|
|
+pub unsafe fn syscall6(
|
|
|
+ mut n: usize,
|
|
|
+ a1: usize,
|
|
|
+ a2: usize,
|
|
|
+ a3: usize,
|
|
|
+ a4: usize,
|
|
|
+ a5: usize,
|
|
|
+ a6: usize,
|
|
|
+) -> usize {
|
|
|
asm!(
|
|
|
"int 0x80",
|
|
|
inout("rax") n,
|
|
|
- in("r8") a1,
|
|
|
- in("r9") a2,
|
|
|
- in("r10") a3,
|
|
|
- in("r11") a4,
|
|
|
- in("r12") a5,
|
|
|
- in("r13") a6,
|
|
|
+ in("rdi") a1,
|
|
|
+ in("rsi") a2,
|
|
|
+ in("rdx") a3,
|
|
|
+ in("r10") a4,
|
|
|
+ in("r8") a5,
|
|
|
+ in("r9") a6,
|
|
|
out("rcx") _,
|
|
|
+ out("r11") _,
|
|
|
options(nostack),
|
|
|
);
|
|
|
n
|
|
|
}
|
|
|
-
|
|
|
-#[inline(always)]
|
|
|
-pub unsafe fn syscall7(mut n: usize,
|
|
|
- a1: usize,
|
|
|
- a2: usize,
|
|
|
- a3: usize,
|
|
|
- a4: usize,
|
|
|
- a5: usize,
|
|
|
- a6: usize,
|
|
|
- a7: usize)
|
|
|
- -> usize {
|
|
|
- asm!(
|
|
|
- "int 0x80",
|
|
|
- inout("rax") n,
|
|
|
- in("r8") a1,
|
|
|
- in("r9") a2,
|
|
|
- in("r10") a3,
|
|
|
- in("r11") a4,
|
|
|
- in("r12") a5,
|
|
|
- in("r13") a6,
|
|
|
- in("r14") a7,
|
|
|
- out("rcx") _,
|
|
|
- options(nostack),
|
|
|
- );
|
|
|
- n
|
|
|
-}
|