diff options
Diffstat (limited to 'compel/arch/aarch64/plugins/std/syscalls/syscall-aux.S')
-rw-r--r-- | compel/arch/aarch64/plugins/std/syscalls/syscall-aux.S | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/compel/arch/aarch64/plugins/std/syscalls/syscall-aux.S b/compel/arch/aarch64/plugins/std/syscalls/syscall-aux.S new file mode 100644 index 000000000..00ccf79c3 --- /dev/null +++ b/compel/arch/aarch64/plugins/std/syscalls/syscall-aux.S @@ -0,0 +1,37 @@ +/** + * This source contains emulation of syscalls + * that are not implemented in the AArch64 Linux kernel + */ + +ENTRY(sys_open) + mov x3, x2 + mov x2, x1 + mov x1, x0 + mov x0, #-100 + b sys_openat +END(sys_open) + + +ENTRY(sys_mkdir) + mov x3, x2 + mov x2, x1 + mov x1, x0 + mov x0, #-100 + b sys_mkdirat +END(sys_mkdir) + + +ENTRY(sys_rmdir) + mov x2, #0x200 // flags = AT_REMOVEDIR + mov x1, x0 + mov x0, #-100 + b sys_unlinkat +END(sys_rmdir) + + +ENTRY(sys_unlink) + mov x2, #0 // flags = 0 + mov x1, x0 + mov x0, #-100 + b sys_unlinkat +END(sys_unlink) |