2 #include <sys/syscall.h>
5 .global sys_cacheflush @ const void *start_addr, const void *end_addr
11 mov r7, #(__ARM_NR_cacheflush & 0xff)
12 #if (__ARM_NR_cacheflush & 0x00ff00)
13 orr r7, r7, #(__ARM_NR_cacheflush & 0x00ff00)
15 #if (__ARM_NR_cacheflush & 0xff0000)
16 orr r7, r7, #(__ARM_NR_cacheflush & 0xff0000)
22 swi __ARM_NR_cacheflush
34 stmfd sp!, {r4, r5, r6}
35 ldmia r12, {r4, r5, r6}
37 ldmfd sp!, {r4, r5, r6}
39 .global g_syscall_error
52 ldr r12,[sp, #4] @ arg6 - convenience func ptr
54 ldr r4, [sp, #4] @ arg5
64 .macro raw_syscall_easy name nr
71 .macro raw_syscall name nr
75 stmfd sp!, {r4, r5, r6, lr}
76 ldmia r12, {r4, r5, r6}
78 ldmfd sp!, {r4, r5, r6, pc}
81 raw_syscall_easy g_open_raw, __NR_open
82 raw_syscall_easy g_read_raw, __NR_read
83 raw_syscall_easy g_write_raw, __NR_write
84 raw_syscall g_mmap2_raw, __NR_mmap2
85 raw_syscall_easy g_munmap_raw, __NR_munmap
86 raw_syscall_easy g_ioctl_raw, __NR_ioctl
87 raw_syscall_easy g_close_raw, __NR_close
88 raw_syscall_easy g_chdir_raw, __NR_chdir
89 raw_syscall_easy g_futex_raw, __NR_futex
90 raw_syscall_easy g_nanosleep_raw, __NR_nanosleep
91 raw_syscall_easy g_readlink_raw, __NR_readlink
92 raw_syscall_easy g_execve_raw, __NR_execve
93 raw_syscall_easy g_clock_gettime_raw, __NR_clock_gettime
94 raw_syscall_easy g_rt_sigprocmask_raw, __NR_rt_sigprocmask
95 raw_syscall_easy g_exit_group_raw, __NR_exit_group