1/* 2 * Copyright (C) 2005-2006 Atmel Corporation 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License version 2 as 6 * published by the Free Software Foundation. 7 */ 8 9/* 10 * Stubs for syscalls that require access to pt_regs or that take more 11 * than five parameters. 12 */ 13 14#define ARG6 r3 15 16 .text 17 .global __sys_rt_sigsuspend 18 .type __sys_rt_sigsuspend,@function 19__sys_rt_sigsuspend: 20 mov r10, sp 21 rjmp sys_rt_sigsuspend 22 23 .global __sys_sigaltstack 24 .type __sys_sigaltstack,@function 25__sys_sigaltstack: 26 mov r10, sp 27 rjmp sys_sigaltstack 28 29 .global __sys_rt_sigreturn 30 .type __sys_rt_sigreturn,@function 31__sys_rt_sigreturn: 32 mov r12, sp 33 rjmp sys_rt_sigreturn 34 35 .global __sys_fork 36 .type __sys_fork,@function 37__sys_fork: 38 mov r12, sp 39 rjmp sys_fork 40 41 .global __sys_clone 42 .type __sys_clone,@function 43__sys_clone: 44 mov r8, sp 45 rjmp sys_clone 46 47 .global __sys_vfork 48 .type __sys_vfork,@function 49__sys_vfork: 50 mov r12, sp 51 rjmp sys_vfork 52 53 .global __sys_execve 54 .type __sys_execve,@function 55__sys_execve: 56 mov r9, sp 57 rjmp sys_execve 58 59 .global __sys_mmap2 60 .type __sys_mmap2,@function 61__sys_mmap2: 62 pushm lr 63 st.w --sp, ARG6 64 rcall sys_mmap2 65 sub sp, -4 66 popm pc 67 68 .global __sys_sendto 69 .type __sys_sendto,@function 70__sys_sendto: 71 pushm lr 72 st.w --sp, ARG6 73 rcall sys_sendto 74 sub sp, -4 75 popm pc 76 77 .global __sys_recvfrom 78 .type __sys_recvfrom,@function 79__sys_recvfrom: 80 pushm lr 81 st.w --sp, ARG6 82 rcall sys_recvfrom 83 sub sp, -4 84 popm pc 85 86 .global __sys_pselect6 87 .type __sys_pselect6,@function 88__sys_pselect6: 89 pushm lr 90 st.w --sp, ARG6 91 rcall sys_pselect6 92 sub sp, -4 93 popm pc 94 95 .global __sys_splice 96 .type __sys_splice,@function 97__sys_splice: 98 pushm lr 99 st.w --sp, ARG6 100 rcall sys_splice 101 sub sp, -4 102 popm pc 103 104 .global __sys_epoll_pwait 105 .type __sys_epoll_pwait,@function 106__sys_epoll_pwait: 107 pushm lr 108 st.w --sp, ARG6 109 rcall sys_epoll_pwait 110 sub sp, -4 111 popm pc 112 113 .global __sys_sync_file_range 114 .type __sys_sync_file_range,@function 115__sys_sync_file_range: 116 pushm lr 117 st.w --sp, ARG6 118 rcall sys_sync_file_range 119 sub sp, -4 120 popm pc 121