~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arc/kernel/entry.S

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /arch/arc/kernel/entry.S (Version linux-6.12-rc7) and /arch/alpha/kernel/entry.S (Version linux-2.4.37.11)


  1 /* SPDX-License-Identifier: GPL-2.0-only */    << 
  2 /*                                                  1 /*
  3  * Common Low Level Interrupts/Traps/Exception !!   2  * alpha/entry.S
  4  * (included from entry-<isa>.S                << 
  5  *                                                  3  *
  6  * Copyright (C) 2014-15 Synopsys, Inc. (www.s !!   4  * kernel entry-points
  7  * Copyright (C) 2004, 2007-2010, 2011-2012 Sy << 
  8  */                                                 5  */
  9                                                     6 
 10 /*-------------------------------------------- !!   7 #include <linux/config.h>
 11  *    Function                            ABI  !!   8 #include <asm/system.h>
 12  *-------------------------------------------- !!   9 #include <asm/cache.h>
 13  *                                             << 
 14  *  Arguments                           r0 - r << 
 15  *  Caller Saved Registers              r0 - r << 
 16  *  Callee Saved Registers              r13- r << 
 17  *  Global Pointer (gp)                 r26    << 
 18  *  Frame Pointer (fp)                  r27    << 
 19  *  Stack Pointer (sp)                  r28    << 
 20  *  Branch link register (blink)        r31    << 
 21  *-------------------------------------------- << 
 22  */                                            << 
 23                                                << 
 24 ;################### Special Sys Call Wrappers << 
 25                                                << 
 26 ENTRY(sys_clone_wrapper)                       << 
 27         SAVE_CALLEE_SAVED_USER                 << 
 28         bl  @sys_clone                         << 
 29         DISCARD_CALLEE_SAVED_USER              << 
 30                                                << 
 31         GET_CURR_THR_INFO_FLAGS   r10          << 
 32         and.f 0, r10, _TIF_SYSCALL_WORK        << 
 33         bnz   tracesys_exit                    << 
 34                                                << 
 35         b .Lret_from_system_call               << 
 36 END(sys_clone_wrapper)                         << 
 37                                                << 
 38 ENTRY(sys_clone3_wrapper)                      << 
 39         SAVE_CALLEE_SAVED_USER                 << 
 40         bl  @sys_clone3                        << 
 41         DISCARD_CALLEE_SAVED_USER              << 
 42                                                << 
 43         GET_CURR_THR_INFO_FLAGS   r10          << 
 44         and.f 0, r10, _TIF_SYSCALL_WORK        << 
 45         bnz   tracesys_exit                    << 
 46                                                << 
 47         b .Lret_from_system_call               << 
 48 END(sys_clone3_wrapper)                        << 
 49                                                << 
 50 ENTRY(ret_from_fork)                           << 
 51         ; when the forked child comes here fro << 
 52         ; r0 has the last task pointer.        << 
 53         ; put last task in scheduler queue     << 
 54         jl   @schedule_tail                    << 
 55                                                << 
 56         ld   r9, [sp, PT_status32]             << 
 57         brne r9, 0, 1f                         << 
 58                                                << 
 59         jl.d [r14]              ; kernel threa << 
 60         mov  r0, r13            ; (see PF_KTHR << 
 61                                                << 
 62 1:                                             << 
 63         ; Return to user space                 << 
 64         ; 1. Any forked task (Reach here via B << 
 65         ; 2. First ever init task (Reach here  << 
 66         ;    This is the historic "kernel_exec << 
 67         ;    user mode, in a round about way s << 
 68         ;    a kernel thread which is executed << 
 69         ;    out whenever kernel_execve (now i << 
 70         b    ret_from_exception                << 
 71 END(ret_from_fork)                             << 
 72                                                << 
 73 ;################### Non TLB Exception Handlin << 
 74                                                << 
 75 ; -------------------------------------------- << 
 76 ; Instruction Error Exception Handler          << 
 77 ; -------------------------------------------- << 
 78                                                << 
 79 ENTRY(instr_service)                           << 
 80                                                << 
 81         EXCEPTION_PROLOGUE                     << 
 82                                                << 
 83         bl  do_insterror_or_kprobe             << 
 84         b   ret_from_exception                 << 
 85 END(instr_service)                             << 
 86                                                << 
 87 ; -------------------------------------------- << 
 88 ; Machine Check Exception Handler              << 
 89 ; -------------------------------------------- << 
 90                                                << 
 91 ENTRY(EV_MachineCheck)                         << 
 92                                                << 
 93         EXCEPTION_PROLOGUE_KEEP_AE      ; ECR  << 
 94                                                << 
 95         lr  r0, [efa]                          << 
 96         mov r1, sp                             << 
 97                                                << 
 98         ; MC exceptions disable MMU            << 
 99         ARC_MMU_REENABLE r3                    << 
100                                                << 
101         lsr     r3, r10, 8                     << 
102         bmsk    r3, r3, 7                      << 
103         brne    r3, ECR_C_MCHK_DUP_TLB, 1f     << 
104                                                << 
105         bl      do_tlb_overlap_fault           << 
106         b       ret_from_exception             << 
107                                                << 
108 1:                                             << 
109         ; DEAD END: can't do much, display Reg << 
110         SAVE_CALLEE_SAVED_USER                 << 
111                                                << 
112         GET_CURR_TASK_FIELD_PTR   TASK_THREAD, << 
113         st  sp, [r10, THREAD_CALLEE_REG]       << 
114                                                << 
115         j  do_machine_check_fault              << 
116                                                << 
117 END(EV_MachineCheck)                           << 
118                                                << 
119 ; -------------------------------------------- << 
120 ; Privilege Violation Exception Handler        << 
121 ; -------------------------------------------- << 
122 ENTRY(EV_PrivilegeV)                           << 
123                                                << 
124         EXCEPTION_PROLOGUE                     << 
125                                                << 
126         bl  do_privilege_fault                 << 
127         b   ret_from_exception                 << 
128 END(EV_PrivilegeV)                             << 
129                                                << 
130 ; -------------------------------------------- << 
131 ; Extension Instruction Exception Handler      << 
132 ; -------------------------------------------- << 
133 ENTRY(EV_Extension)                            << 
134                                                << 
135         EXCEPTION_PROLOGUE                     << 
136                                                << 
137         bl  do_extension_fault                 << 
138         b   ret_from_exception                 << 
139 END(EV_Extension)                              << 
140                                                << 
141 ;################ Trap Handling (Syscall, Brea << 
142                                                << 
143 ; -------------------------------------------- << 
144 ; syscall Tracing                              << 
145 ; -------------------------------------------- << 
146 tracesys:                                      << 
147         ; safekeep EFA (r12) if syscall tracer << 
148         ; for traps, ERET is pre-commit so poi << 
149         GET_CURR_TASK_FIELD_PTR   TASK_THREAD, << 
150         st  r12, [r11, THREAD_FAULT_ADDR]      << 
151                                                << 
152         ; PRE syscall trace hook               << 
153         mov r0, sp                             << 
154         bl  @syscall_trace_enter               << 
155                                                << 
156         ; Tracing code now returns the syscall << 
157         mov r8, r0                             << 
158                                                << 
159         ; Do the Sys Call as we normally would << 
160         cmp     r8,  NR_syscalls - 1           << 
161         mov.hi  r0, -ENOSYS                    << 
162         bhi     tracesys_exit                  << 
163                                                << 
164         ; Restore the sys-call args. Mere invo << 
165         ; clobbered them (since they are in sc << 
166         ; have deliberately changed the syscal << 
167         ld  r0, [sp, PT_r0]                    << 
168         ld  r1, [sp, PT_r1]                    << 
169         ld  r2, [sp, PT_r2]                    << 
170         ld  r3, [sp, PT_r3]                    << 
171         ld  r4, [sp, PT_r4]                    << 
172         ld  r5, [sp, PT_r5]                    << 
173         ld  r6, [sp, PT_r6]                    << 
174         ld  r7, [sp, PT_r7]                    << 
175         ld.as   r9, [sys_call_table, r8]       << 
176         jl      [r9]                           << 
177                                                << 
178 tracesys_exit:                                 << 
179         st  r0, [sp, PT_r0]                    << 
180                                                << 
181         ; POST syscall trace hook              << 
182         mov r0, sp              ; pt_regs need << 
183         bl  @syscall_trace_exit                << 
184                                                << 
185         ; don't call ret_from_system_call as i << 
186         b   ret_from_exception                 << 
187                                                << 
188 ; -------------------------------------------- << 
189 ; Breakpoint TRAP                              << 
190 ; -------------------------------------------- << 
191 trap_with_param:                               << 
192         mov r0, r12     ; EFA in case ptracer/ << 
193         mov r1, sp      ; pt_regs              << 
194                                                << 
195         ; save callee regs in case tracer/gdb  << 
196         SAVE_CALLEE_SAVED_USER                 << 
197                                                << 
198         ; safekeep ref to callee regs          << 
199         GET_CURR_TASK_FIELD_PTR   TASK_THREAD, << 
200         st  sp, [r10, THREAD_CALLEE_REG]       << 
201                                                << 
202         ; call the non syscall trap handler    << 
203         bl  do_non_swi_trap                    << 
204                                                << 
205         ; unwind stack to discard callee regs  << 
206         DISCARD_CALLEE_SAVED_USER              << 
207                                                    10 
208         b   ret_from_exception                 !!  11 #define SIGCHLD 20
209                                                    12 
210 ; -------------------------------------------- !!  13 #define NR_SYSCALLS 382
211 ; syscall TRAP                                 << 
212 ; ABI: (r0-r7) up to 8 args, (r8) syscall numb << 
213 ; -------------------------------------------- << 
214                                                    14 
215 ENTRY(EV_Trap)                                 !!  15 /*
216                                                !!  16  * These offsets must match with alpha_mv in <asm/machvec.h>.
217         EXCEPTION_PROLOGUE_KEEP_AE             !!  17  */
218                                                !!  18 #define HAE_CACHE       0
219         lr  r12, [efa]                         !!  19 #define HAE_REG         8
220                                                << 
221         FAKE_RET_FROM_EXCPN                    << 
222                                                << 
223         ;============ TRAP N : breakpoints, kp << 
224         bmsk.f 0, r10, 7                       << 
225         bnz    trap_with_param                 << 
226                                                << 
227         ;============ TRAP 0 (no param): sysca << 
228                                                << 
229         ; syscall tracing ongoing, invoke pre- << 
230         GET_CURR_THR_INFO_FLAGS   r10          << 
231         and.f 0, r10, _TIF_SYSCALL_WORK        << 
232         bnz   tracesys  ; this never comes bac << 
233                                                << 
234         ;============ Normal syscall case      << 
235                                                << 
236         cmp     r8,  NR_syscalls - 1           << 
237         mov.hi  r0, -ENOSYS                    << 
238         bhi     .Lret_from_system_call         << 
239                                                << 
240         ld.as   r9,[sys_call_table, r8]        << 
241         jl      [r9]                           << 
242                                                << 
243 .Lret_from_system_call:                        << 
244         st  r0, [sp, PT_r0]     ; sys call ret << 
245                                                << 
246         ; fall through to ret_from_exception   << 
247 END(EV_Trap)                                   << 
248                                                << 
249 ;############# Return from Intr/Excp/Trap (Lin << 
250 ;                                              << 
251 ; If ret to user mode do we need to handle sig << 
252                                                << 
253 ENTRY(ret_from_exception)                      << 
254                                                << 
255         ; Pre-{IRQ,Trap,Exception} K/U mode fr << 
256         ld  r8, [sp, PT_status32]   ; returnin << 
257                                                << 
258         bbit0  r8, STATUS_U_BIT, resume_kernel << 
259                                                << 
260         ; Before returning to User mode check- << 
261         ; such as rescheduling/signal-delivery << 
262 resume_user_mode_begin:                        << 
263                                                << 
264         ; Disable IRQs to ensures that chk for << 
265         ; (and we don't end up missing a NEED_ << 
266         ; interim IRQ).                        << 
267         IRQ_DISABLE     r10                    << 
268                                                << 
269         ; Fast Path return to user mode if no  << 
270         GET_CURR_THR_INFO_FLAGS   r9           << 
271         and.f  0,  r9, _TIF_WORK_MASK          << 
272         bz     .Lrestore_regs                  << 
273                                                << 
274         ; --- (Slow Path #1) task preemption - << 
275         bbit0  r9, TIF_NEED_RESCHED, .Lchk_pen << 
276         mov    blink, resume_user_mode_begin   << 
277         j      @schedule        ; BTST+Bnz cau << 
278                                                << 
279 .Lchk_pend_signals:                            << 
280         IRQ_ENABLE      r10                    << 
281                                                << 
282         ; --- (Slow Path #2) pending signal  - << 
283         mov r0, sp      ; pt_regs for arg to d << 
284                                                    20 
285         GET_CURR_THR_INFO_FLAGS   r9           !!  21 /*
286         and.f  0,  r9, _TIF_SIGPENDING|_TIF_NO !!  22  * stack offsets
287         bz .Lchk_notify_resume                 !!  23  */
                                                   >>  24 #define SP_OFF          184
288                                                    25 
289         ; Normal Trap/IRQ entry only saves Scr !!  26 #define SWITCH_STACK_SIZE 320
290         ; in pt_reg since the "C" ABI (kernel  << 
291         ; save/restore callee-saved regs.      << 
292         ;                                      << 
293         ; However, here we need to explicitly  << 
294         ; (i)  If this signal causes coredump  << 
295         ; (ii) If signal is SIGTRAP/SIGSTOP, t << 
296         ;      tracer might call PEEKUSR(CALLE << 
297         ;                                      << 
298         ; NOTE: SP will grow up by size of CAL << 
299         SAVE_CALLEE_SAVED_USER                 << 
300                                                    27 
301         ; save location of saved Callee Regs @ !!  28 /*
302         GET_CURR_TASK_FIELD_PTR   TASK_THREAD, !!  29  * task structure offsets
303         st  sp, [r10, THREAD_CALLEE_REG]       !!  30  */
                                                   >>  31 #define TASK_STATE              0
                                                   >>  32 #define TASK_FLAGS              8
                                                   >>  33 #define TASK_SIGPENDING         16
                                                   >>  34 #define TASK_ADDR_LIMIT         24
                                                   >>  35 #define TASK_EXEC_DOMAIN        32
                                                   >>  36 #define TASK_NEED_RESCHED       40
                                                   >>  37 #define TASK_PTRACE             48
                                                   >>  38 #define TASK_PROCESSOR          100
304                                                    39 
305         bl  @do_signal                         !!  40 /*
                                                   >>  41  * task flags (must match include/linux/sched.h):
                                                   >>  42  */
                                                   >>  43 #define PT_PTRACED      0x00000001
306                                                    44 
307         ; Ideally we want to discard the Calle !!  45 #define CLONE_VM        0x00000100 
308         ; a tracing signal, tracer could have  << 
309         RESTORE_CALLEE_SAVED_USER              << 
310                                                    46 
311         b      resume_user_mode_begin   ; loop !!  47 /*
                                                   >>  48  * This defines the normal kernel pt-regs layout.
                                                   >>  49  *
                                                   >>  50  * regs 9-15 preserved by C code
                                                   >>  51  * regs 16-18 saved by PAL-code
                                                   >>  52  * regs 29-30 saved and set up by PAL-code
                                                   >>  53  * JRP - Save regs 16-18 in a special area of the stack, so that
                                                   >>  54  * the palcode-provided values are available to the signal handler.
                                                   >>  55  */
312                                                    56 
313         ; --- (Slow Path #3) notify_resume --- !!  57 #define SAVE_ALL                        \
314 .Lchk_notify_resume:                           !!  58         subq    $30,184,$30;            \
315         btst   r9, TIF_NOTIFY_RESUME           !!  59         stq     $0,0($30);              \
316         blnz   @do_notify_resume               !!  60         stq     $1,8($30);              \
317         b      resume_user_mode_begin   ; unco !!  61         stq     $2,16($30);             \
318                                         ; for  !!  62         stq     $3,24($30);             \
                                                   >>  63         stq     $4,32($30);             \
                                                   >>  64         stq     $28,144($30);           \
                                                   >>  65         lda     $2,alpha_mv;            \
                                                   >>  66         stq     $5,40($30);             \
                                                   >>  67         stq     $6,48($30);             \
                                                   >>  68         stq     $7,56($30);             \
                                                   >>  69         stq     $8,64($30);             \
                                                   >>  70         stq     $19,72($30);            \
                                                   >>  71         stq     $20,80($30);            \
                                                   >>  72         stq     $21,88($30);            \
                                                   >>  73         ldq     $2,HAE_CACHE($2);       \
                                                   >>  74         stq     $22,96($30);            \
                                                   >>  75         stq     $23,104($30);           \
                                                   >>  76         stq     $24,112($30);           \
                                                   >>  77         stq     $25,120($30);           \
                                                   >>  78         stq     $26,128($30);           \
                                                   >>  79         stq     $27,136($30);           \
                                                   >>  80         stq     $2,152($30);            \
                                                   >>  81         stq     $16,160($30);           \
                                                   >>  82         stq     $17,168($30);           \
                                                   >>  83         stq     $18,176($30)
                                                   >>  84 
                                                   >>  85 #define RESTORE_ALL                     \
                                                   >>  86         lda     $19,alpha_mv;           \
                                                   >>  87         ldq     $0,0($30);              \
                                                   >>  88         ldq     $1,8($30);              \
                                                   >>  89         ldq     $2,16($30);             \
                                                   >>  90         ldq     $3,24($30);             \
                                                   >>  91         ldq     $21,152($30);           \
                                                   >>  92         ldq     $20,HAE_CACHE($19);     \
                                                   >>  93         ldq     $4,32($30);             \
                                                   >>  94         ldq     $5,40($30);             \
                                                   >>  95         ldq     $6,48($30);             \
                                                   >>  96         ldq     $7,56($30);             \
                                                   >>  97         subq    $20,$21,$20;            \
                                                   >>  98         ldq     $8,64($30);             \
                                                   >>  99         beq     $20,99f;                \
                                                   >> 100         ldq     $20,HAE_REG($19);       \
                                                   >> 101         addq    $31,7,$16;              \
                                                   >> 102         call_pal PAL_swpipl;            \
                                                   >> 103         stq     $21,HAE_CACHE($19);     \
                                                   >> 104         stq     $21,0($20);             \
                                                   >> 105         mov     $0,$16;                 \
                                                   >> 106         call_pal PAL_swpipl;            \
                                                   >> 107         ldq     $0,0($30);              \
                                                   >> 108         ldq     $1,8($30);              \
                                                   >> 109 99:;                                    \
                                                   >> 110         ldq     $19,72($30);            \
                                                   >> 111         ldq     $20,80($30);            \
                                                   >> 112         ldq     $21,88($30);            \
                                                   >> 113         ldq     $22,96($30);            \
                                                   >> 114         ldq     $23,104($30);           \
                                                   >> 115         ldq     $24,112($30);           \
                                                   >> 116         ldq     $25,120($30);           \
                                                   >> 117         ldq     $26,128($30);           \
                                                   >> 118         ldq     $27,136($30);           \
                                                   >> 119         ldq     $28,144($30);           \
                                                   >> 120         addq    $30,184,$30
                                                   >> 121 
                                                   >> 122 .text
                                                   >> 123 .set noat
                                                   >> 124 #if defined(__linux__) && !defined(__ELF__)
                                                   >> 125   .set singlegp
                                                   >> 126 #endif
319                                                   127 
320 resume_kernel_mode:                            !! 128 .align 3
                                                   >> 129 .globl  entInt
                                                   >> 130 .ent    entInt
                                                   >> 131 entInt:
                                                   >> 132         SAVE_ALL
                                                   >> 133         lda     $8,0x3fff
                                                   >> 134         lda     $26,ret_from_sys_call
                                                   >> 135         bic     $30,$8,$8
                                                   >> 136         jsr     $31,do_entInt
                                                   >> 137 .end entInt
                                                   >> 138 
                                                   >> 139 .align 3
                                                   >> 140 .globl  entMM
                                                   >> 141 .ent    entMM
                                                   >> 142 entMM:
                                                   >> 143         SAVE_ALL
                                                   >> 144 /* save $9 - $15 so the inline exception code can manipulate them.  */
                                                   >> 145         subq    $30,56,$30
                                                   >> 146         stq     $9,0($30)
                                                   >> 147         stq     $10,8($30)
                                                   >> 148         stq     $11,16($30)
                                                   >> 149         stq     $12,24($30)
                                                   >> 150         stq     $13,32($30)
                                                   >> 151         stq     $14,40($30)
                                                   >> 152         stq     $15,48($30)
                                                   >> 153         addq    $30,56,$19
                                                   >> 154 /* handle the fault */
                                                   >> 155         lda     $8,0x3fff
                                                   >> 156         bic     $30,$8,$8
                                                   >> 157         jsr     $26,do_page_fault
                                                   >> 158 /* reload the registers after the exception code played.  */
                                                   >> 159         ldq     $9,0($30)
                                                   >> 160         ldq     $10,8($30)
                                                   >> 161         ldq     $11,16($30)
                                                   >> 162         ldq     $12,24($30)
                                                   >> 163         ldq     $13,32($30)
                                                   >> 164         ldq     $14,40($30)
                                                   >> 165         ldq     $15,48($30)
                                                   >> 166         addq    $30,56,$30
                                                   >> 167 /* finish up the syscall as normal.  */
                                                   >> 168         br      ret_from_sys_call
                                                   >> 169 .end entMM
                                                   >> 170 
                                                   >> 171 .align 3
                                                   >> 172 .globl  entArith
                                                   >> 173 .ent    entArith
                                                   >> 174 entArith:
                                                   >> 175         SAVE_ALL
                                                   >> 176         lda     $8,0x3fff
                                                   >> 177         lda     $26,ret_from_sys_call
                                                   >> 178         bic     $30,$8,$8
                                                   >> 179         jsr     $31,do_entArith
                                                   >> 180 .end entArith
                                                   >> 181 
                                                   >> 182 .align 3
                                                   >> 183 .globl  entIF
                                                   >> 184 .ent    entIF
                                                   >> 185 entIF:
                                                   >> 186         SAVE_ALL
                                                   >> 187         lda     $8,0x3fff
                                                   >> 188         lda     $26,ret_from_sys_call
                                                   >> 189         bic     $30,$8,$8
                                                   >> 190         jsr     $31,do_entIF
                                                   >> 191 .end entIF
                                                   >> 192 
                                                   >> 193 .align 3
                                                   >> 194 .globl  entDbg
                                                   >> 195 .ent    entDbg
                                                   >> 196 entDbg:
                                                   >> 197         SAVE_ALL
                                                   >> 198         lda     $8,0x3fff
                                                   >> 199         lda     $26,ret_from_sys_call
                                                   >> 200         bic     $30,$8,$8
                                                   >> 201         jsr     $31,do_entDbg
                                                   >> 202 .end entDbg
321                                                   203 
322         ; Disable Interrupts from this point o << 
323         ; CONFIG_PREEMPTION: This is a must fo << 
324         ; !CONFIG_PREEMPTION: To ensure restor << 
325         IRQ_DISABLE     r9                     << 
326                                                   204 
327 #ifdef CONFIG_PREEMPTION                       !! 205 /*
                                                   >> 206  * Fork() is one of the special system calls: it needs to
                                                   >> 207  * save the callee-saved regs so that the regs can be found
                                                   >> 208  * for the new process.. We save them in the "context switch"
                                                   >> 209  * stack format (see arch/alpha/kernel/process.c).
                                                   >> 210  *
                                                   >> 211  * Also, for the kernel fork, we need to fake the system call
                                                   >> 212  * stack buildup, as we can't do system calls from kernel space.
                                                   >> 213  */
                                                   >> 214 .align 3
                                                   >> 215 .ent    kernel_clone
                                                   >> 216 kernel_clone:
                                                   >> 217         .frame $30, 0, $26
                                                   >> 218         .prologue 0
                                                   >> 219         subq    $30,6*8,$30
                                                   >> 220         stq     $31,0($30)
                                                   >> 221         stq     $26,8($30)
                                                   >> 222         stq     $29,16($30)
                                                   >> 223         stq     $16,24($30)
                                                   >> 224         stq     $17,32($30)
                                                   >> 225         stq     $18,40($30)
                                                   >> 226         bis     $31,2,$0        /* Register v0: syscall nr for fork() */
                                                   >> 227         SAVE_ALL
                                                   >> 228         bsr     $26,sys_clone
                                                   >> 229         stq     $0,0($30)
                                                   >> 230         br      ret_from_sys_call
                                                   >> 231 .end    kernel_clone
328                                                   232 
329         ; Can't preempt if preemption disabled !! 233 /*
330         GET_CURR_THR_INFO_FROM_SP   r10        !! 234  * arch_kernel_thread(fn, arg, clone_flags)
331         ld  r8, [r10, THREAD_INFO_PREEMPT_COUN !! 235  */
332         brne  r8, 0, .Lrestore_regs            !! 236 .align 3
                                                   >> 237 .globl  arch_kernel_thread
                                                   >> 238 .ent    arch_kernel_thread
                                                   >> 239 arch_kernel_thread:
                                                   >> 240         ldgp    $29,0($27)      /* we can be called from a module */
                                                   >> 241         .frame $30, 4*8, $26
                                                   >> 242         subq    $30,4*8,$30
                                                   >> 243         stq     $10,16($30)
                                                   >> 244         stq     $9,8($30)
                                                   >> 245         lda     $0,CLONE_VM
                                                   >> 246         stq     $26,0($30)
                                                   >> 247         .prologue 1
                                                   >> 248         mov     $16,$9          /* save fn */           
                                                   >> 249         mov     $17,$10         /* save arg */
                                                   >> 250         or      $18,$0,$16      /* shuffle flags to front; add CLONE_VM.  */
                                                   >> 251         bsr     $26,kernel_clone
                                                   >> 252         bne     $20,1f          /* $20 is non-zero in child */
                                                   >> 253         ldq     $26,0($30)
                                                   >> 254         ldq     $9,8($30)
                                                   >> 255         ldq     $10,16($30)
                                                   >> 256         addq    $30,4*8,$30
                                                   >> 257         ret     $31,($26),1
                                                   >> 258 /* this is in child: look out as we don't have any stack here.. */
                                                   >> 259 1:      mov     $9,$27          /* get fn */
                                                   >> 260         lda     $8,0x3fff
                                                   >> 261         mov     $10,$16         /* get arg */
                                                   >> 262         bic     $30,$8,$8       /* get current */
                                                   >> 263         jsr     $26,($27)
                                                   >> 264         ldgp    $29,0($26)
                                                   >> 265         mov     $0,$16
                                                   >> 266         mov     $31,$26
                                                   >> 267         jsr     $31,sys_exit
                                                   >> 268 .end    arch_kernel_thread
333                                                   269 
334         ; check if this task's NEED_RESCHED fl !! 270 /*
335         ld  r9, [r10, THREAD_INFO_FLAGS]       !! 271  * __kernel_execve(path, argv, envp, regs)
336         bbit0  r9, TIF_NEED_RESCHED, .Lrestore !! 272  */
                                                   >> 273 .align 3
                                                   >> 274 .globl  __kernel_execve
                                                   >> 275 .ent    __kernel_execve
                                                   >> 276 __kernel_execve:
                                                   >> 277         ldgp    $29,0($27)      /* we can be called from modules.  */
                                                   >> 278         subq    $30,16,$30
                                                   >> 279         .frame  $30,16,$26,0
                                                   >> 280         stq     $26,0($30)
                                                   >> 281         stq     $19,8($30)
                                                   >> 282         .prologue 1
                                                   >> 283         jsr     $26,do_execve
                                                   >> 284         bne     $0,1f           /* error! */
                                                   >> 285         ldq     $30,8($30)
                                                   >> 286         br      $31,ret_from_sys_call
                                                   >> 287 1:      ldq     $26,0($30)
                                                   >> 288         addq    $30,16,$30
                                                   >> 289         ret
                                                   >> 290 .end    __kernel_execve
                                                   >> 291 
                                                   >> 292 .align 3
                                                   >> 293 .ent    do_switch_stack
                                                   >> 294 do_switch_stack:
                                                   >> 295         lda     $30,-SWITCH_STACK_SIZE($30)
                                                   >> 296         stq     $9,0($30)
                                                   >> 297         stq     $10,8($30)
                                                   >> 298         stq     $11,16($30)
                                                   >> 299         stq     $12,24($30)
                                                   >> 300         stq     $13,32($30)
                                                   >> 301         stq     $14,40($30)
                                                   >> 302         stq     $15,48($30)
                                                   >> 303         stq     $26,56($30)
                                                   >> 304         stt     $f0,64($30)
                                                   >> 305         stt     $f1,72($30)
                                                   >> 306         stt     $f2,80($30)
                                                   >> 307         stt     $f3,88($30)
                                                   >> 308         stt     $f4,96($30)
                                                   >> 309         stt     $f5,104($30)
                                                   >> 310         stt     $f6,112($30)
                                                   >> 311         stt     $f7,120($30)
                                                   >> 312         stt     $f8,128($30)
                                                   >> 313         stt     $f9,136($30)
                                                   >> 314         stt     $f10,144($30)
                                                   >> 315         stt     $f11,152($30)
                                                   >> 316         stt     $f12,160($30)
                                                   >> 317         stt     $f13,168($30)
                                                   >> 318         stt     $f14,176($30)
                                                   >> 319         stt     $f15,184($30)
                                                   >> 320         stt     $f16,192($30)
                                                   >> 321         stt     $f17,200($30)
                                                   >> 322         stt     $f18,208($30)
                                                   >> 323         stt     $f19,216($30)
                                                   >> 324         stt     $f20,224($30)
                                                   >> 325         stt     $f21,232($30)
                                                   >> 326         stt     $f22,240($30)
                                                   >> 327         stt     $f23,248($30)
                                                   >> 328         stt     $f24,256($30)
                                                   >> 329         stt     $f25,264($30)
                                                   >> 330         stt     $f26,272($30)
                                                   >> 331         stt     $f27,280($30)
                                                   >> 332         mf_fpcr $f0             # get fpcr
                                                   >> 333         stt     $f28,288($30)
                                                   >> 334         stt     $f29,296($30)
                                                   >> 335         stt     $f30,304($30)
                                                   >> 336         stt     $f0,312($30)    # save fpcr in slot of $f31
                                                   >> 337         ldt     $f0,64($30)     # dont let "do_switch_stack" change fp state.
                                                   >> 338         ret     $31,($1),1
                                                   >> 339 .end do_switch_stack
                                                   >> 340 
                                                   >> 341 .align 3
                                                   >> 342 .ent    undo_switch_stack
                                                   >> 343 undo_switch_stack:
                                                   >> 344         ldq     $9,0($30)
                                                   >> 345         ldq     $10,8($30)
                                                   >> 346         ldq     $11,16($30)
                                                   >> 347         ldq     $12,24($30)
                                                   >> 348         ldq     $13,32($30)
                                                   >> 349         ldq     $14,40($30)
                                                   >> 350         ldq     $15,48($30)
                                                   >> 351         ldq     $26,56($30)
                                                   >> 352         ldt     $f30,312($30)   # get saved fpcr
                                                   >> 353         ldt     $f0,64($30)
                                                   >> 354         ldt     $f1,72($30)
                                                   >> 355         ldt     $f2,80($30)
                                                   >> 356         ldt     $f3,88($30)
                                                   >> 357         mt_fpcr $f30            # install saved fpcr
                                                   >> 358         ldt     $f4,96($30)
                                                   >> 359         ldt     $f5,104($30)
                                                   >> 360         ldt     $f6,112($30)
                                                   >> 361         ldt     $f7,120($30)
                                                   >> 362         ldt     $f8,128($30)
                                                   >> 363         ldt     $f9,136($30)
                                                   >> 364         ldt     $f10,144($30)
                                                   >> 365         ldt     $f11,152($30)
                                                   >> 366         ldt     $f12,160($30)
                                                   >> 367         ldt     $f13,168($30)
                                                   >> 368         ldt     $f14,176($30)
                                                   >> 369         ldt     $f15,184($30)
                                                   >> 370         ldt     $f16,192($30)
                                                   >> 371         ldt     $f17,200($30)
                                                   >> 372         ldt     $f18,208($30)
                                                   >> 373         ldt     $f19,216($30)
                                                   >> 374         ldt     $f20,224($30)
                                                   >> 375         ldt     $f21,232($30)
                                                   >> 376         ldt     $f22,240($30)
                                                   >> 377         ldt     $f23,248($30)
                                                   >> 378         ldt     $f24,256($30)
                                                   >> 379         ldt     $f25,264($30)
                                                   >> 380         ldt     $f26,272($30)
                                                   >> 381         ldt     $f27,280($30)
                                                   >> 382         ldt     $f28,288($30)
                                                   >> 383         ldt     $f29,296($30)
                                                   >> 384         ldt     $f30,304($30)
                                                   >> 385         lda     $30,SWITCH_STACK_SIZE($30)
                                                   >> 386         ret     $31,($1),1
                                                   >> 387 .end undo_switch_stack
                                                   >> 388 
                                                   >> 389 .align 3
                                                   >> 390 .globl  entUna
                                                   >> 391 .ent    entUna
                                                   >> 392 entUna:
                                                   >> 393         lda     $30,-256($30)
                                                   >> 394         stq     $0,0($30)
                                                   >> 395         ldq     $0,256($30)     /* get PS */
                                                   >> 396         stq     $1,8($30)
                                                   >> 397         stq     $2,16($30)
                                                   >> 398         stq     $3,24($30)
                                                   >> 399         and     $0,8,$0         /* user mode? */
                                                   >> 400         stq     $4,32($30)
                                                   >> 401         bne     $0,entUnaUser   /* yup -> do user-level unaligned fault */
                                                   >> 402         stq     $5,40($30)
                                                   >> 403         stq     $6,48($30)
                                                   >> 404         stq     $7,56($30)
                                                   >> 405         stq     $8,64($30)
                                                   >> 406         stq     $9,72($30)
                                                   >> 407         stq     $10,80($30)
                                                   >> 408         stq     $11,88($30)
                                                   >> 409         stq     $12,96($30)
                                                   >> 410         stq     $13,104($30)
                                                   >> 411         stq     $14,112($30)
                                                   >> 412         stq     $15,120($30)
                                                   >> 413         /* 16-18 PAL-saved */
                                                   >> 414         stq     $19,152($30)
                                                   >> 415         stq     $20,160($30)
                                                   >> 416         stq     $21,168($30)
                                                   >> 417         stq     $22,176($30)
                                                   >> 418         stq     $23,184($30)
                                                   >> 419         stq     $24,192($30)
                                                   >> 420         stq     $25,200($30)
                                                   >> 421         stq     $26,208($30)
                                                   >> 422         stq     $27,216($30)
                                                   >> 423         stq     $28,224($30)
                                                   >> 424         stq     $29,232($30)
                                                   >> 425         lda     $8,0x3fff
                                                   >> 426         stq     $31,248($30)
                                                   >> 427         bic     $30,$8,$8
                                                   >> 428         jsr     $26,do_entUna
                                                   >> 429         ldq     $0,0($30)
                                                   >> 430         ldq     $1,8($30)
                                                   >> 431         ldq     $2,16($30)
                                                   >> 432         ldq     $3,24($30)
                                                   >> 433         ldq     $4,32($30)
                                                   >> 434         ldq     $5,40($30)
                                                   >> 435         ldq     $6,48($30)
                                                   >> 436         ldq     $7,56($30)
                                                   >> 437         ldq     $8,64($30)
                                                   >> 438         ldq     $9,72($30)
                                                   >> 439         ldq     $10,80($30)
                                                   >> 440         ldq     $11,88($30)
                                                   >> 441         ldq     $12,96($30)
                                                   >> 442         ldq     $13,104($30)
                                                   >> 443         ldq     $14,112($30)
                                                   >> 444         ldq     $15,120($30)
                                                   >> 445         /* 16-18 PAL-saved */
                                                   >> 446         ldq     $19,152($30)
                                                   >> 447         ldq     $20,160($30)
                                                   >> 448         ldq     $21,168($30)
                                                   >> 449         ldq     $22,176($30)
                                                   >> 450         ldq     $23,184($30)
                                                   >> 451         ldq     $24,192($30)
                                                   >> 452         ldq     $25,200($30)
                                                   >> 453         ldq     $26,208($30)
                                                   >> 454         ldq     $27,216($30)
                                                   >> 455         ldq     $28,224($30)
                                                   >> 456         ldq     $29,232($30)
                                                   >> 457         lda     $30,256($30)
                                                   >> 458         call_pal PAL_rti
                                                   >> 459 .end entUna
                                                   >> 460 
                                                   >> 461 .align 3
                                                   >> 462 .ent    entUnaUser
                                                   >> 463 entUnaUser:
                                                   >> 464         ldq     $0,0($30)       /* restore original $0 */
                                                   >> 465         lda     $30,256($30)    /* pop entUna's stack frame */
                                                   >> 466         SAVE_ALL                /* setup normal kernel stack */
                                                   >> 467         lda     $30,-56($30)
                                                   >> 468         stq     $9,0($30)
                                                   >> 469         stq     $10,8($30)
                                                   >> 470         stq     $11,16($30)
                                                   >> 471         stq     $12,24($30)
                                                   >> 472         stq     $13,32($30)
                                                   >> 473         stq     $14,40($30)
                                                   >> 474         stq     $15,48($30)
                                                   >> 475         lda     $8,0x3fff
                                                   >> 476         addq    $30,56,$19
                                                   >> 477         bic     $30,$8,$8
                                                   >> 478         jsr     $26,do_entUnaUser
                                                   >> 479         ldq     $9,0($30)
                                                   >> 480         ldq     $10,8($30)
                                                   >> 481         ldq     $11,16($30)
                                                   >> 482         ldq     $12,24($30)
                                                   >> 483         ldq     $13,32($30)
                                                   >> 484         ldq     $14,40($30)
                                                   >> 485         ldq     $15,48($30)
                                                   >> 486         lda     $30,56($30)
                                                   >> 487         br      ret_from_sys_call
                                                   >> 488 .end    entUnaUser
337                                                   489 
338         ; Invoke PREEMPTION                    !! 490 /*
339         jl      preempt_schedule_irq           !! 491  * A fork is the same as clone(SIGCHLD, 0);
                                                   >> 492  */
                                                   >> 493 .align 3
                                                   >> 494 .globl  sys_fork
                                                   >> 495 .ent    sys_fork
                                                   >> 496 sys_fork:
                                                   >> 497         bsr     $1,do_switch_stack
                                                   >> 498         bis     $31,SIGCHLD,$16
                                                   >> 499         mov     $31,$17
                                                   >> 500         mov     $30,$18
                                                   >> 501         jsr     $26,alpha_clone
                                                   >> 502         bsr     $1,undo_switch_stack
                                                   >> 503         ret     $31,($26),1
                                                   >> 504 .end    sys_fork
                                                   >> 505 
                                                   >> 506 .align 3
                                                   >> 507 .globl  sys_clone
                                                   >> 508 .ent    sys_clone
                                                   >> 509 sys_clone:
                                                   >> 510         bsr     $1,do_switch_stack
                                                   >> 511         /* arg1 and arg2 come from the user */
                                                   >> 512         mov     $30,$18
                                                   >> 513         jsr     $26,alpha_clone
                                                   >> 514         bsr     $1,undo_switch_stack
                                                   >> 515         ret     $31,($26),1
                                                   >> 516 .end    sys_clone
                                                   >> 517 
                                                   >> 518 .align 3
                                                   >> 519 .globl  sys_vfork
                                                   >> 520 .ent    sys_vfork
                                                   >> 521 sys_vfork:
                                                   >> 522         bsr     $1,do_switch_stack
                                                   >> 523         mov     $30,$16
                                                   >> 524         jsr     $26,alpha_vfork
                                                   >> 525         bsr     $1,undo_switch_stack
                                                   >> 526         ret     $31,($26),1
                                                   >> 527 .end    sys_vfork
                                                   >> 528 
                                                   >> 529 .align 3
                                                   >> 530 .globl  alpha_switch_to
                                                   >> 531 .ent    alpha_switch_to
                                                   >> 532 alpha_switch_to:
                                                   >> 533         .prologue 0
                                                   >> 534         bsr     $1,do_switch_stack
                                                   >> 535         call_pal PAL_swpctx
                                                   >> 536         unop
                                                   >> 537         bsr     $1,undo_switch_stack
                                                   >> 538         mov     $17,$0
                                                   >> 539         ret     $31,($26),1
                                                   >> 540 .end alpha_switch_to
340                                                   541 
341         ; preempt_schedule_irq() always return !! 542 /*
                                                   >> 543  * Oh, well.. Disassembling OSF/1 binaries to find out how the
                                                   >> 544  * system calls work isn't much fun.
                                                   >> 545  *
                                                   >> 546  * entSys is special in that the PAL-code doesn't save a0-a2, so
                                                   >> 547  * we start off by doing that by hand.
                                                   >> 548  */
                                                   >> 549 .align 3
                                                   >> 550 .globl  entSys
                                                   >> 551 .globl  ret_from_sys_call
                                                   >> 552 .ent    entSys
                                                   >> 553 entSys:
                                                   >> 554         SAVE_ALL
                                                   >> 555         lda     $8,0x3fff
                                                   >> 556         bic     $30,$8,$8
                                                   >> 557         lda     $4,NR_SYSCALLS($31)
                                                   >> 558         stq     $16,SP_OFF+24($30)
                                                   >> 559         lda     $5,sys_call_table
                                                   >> 560         lda     $27,sys_ni_syscall
                                                   >> 561         cmpult  $0,$4,$4
                                                   >> 562         ldq     $3,TASK_PTRACE($8)
                                                   >> 563         stq     $17,SP_OFF+32($30)
                                                   >> 564         s8addq  $0,$5,$5
                                                   >> 565         and     $3,PT_PTRACED,$3
                                                   >> 566         stq     $18,SP_OFF+40($30)
                                                   >> 567         bne     $3,strace
                                                   >> 568         beq     $4,1f
                                                   >> 569         ldq     $27,0($5)
                                                   >> 570 1:      jsr     $26,($27),alpha_ni_syscall
                                                   >> 571         ldgp    $29,0($26)
                                                   >> 572         blt     $0,syscall_error        /* the call failed */
                                                   >> 573         stq     $0,0($30)
                                                   >> 574         stq     $31,72($30)             /* a3=0 => no error */
                                                   >> 575 
                                                   >> 576 .align 3
                                                   >> 577 ret_from_sys_call:
                                                   >> 578         cmovne  $26,0,$19               /* $19 = 0 => non-restartable */
                                                   >> 579         ldq     $0,SP_OFF($30)
                                                   >> 580         and     $0,8,$0
                                                   >> 581         beq     $0,restore_all
                                                   >> 582 ret_from_reschedule:
                                                   >> 583         ldq     $2,TASK_NEED_RESCHED($8)
                                                   >> 584         lda     $4,init_task_union
                                                   >> 585         bne     $2,reschedule
                                                   >> 586         xor     $4,$8,$4
                                                   >> 587         ldl     $5,TASK_SIGPENDING($8)
                                                   >> 588         beq     $4,restore_all
                                                   >> 589         bne     $5,signal_return
                                                   >> 590 restore_all:
                                                   >> 591         RESTORE_ALL
                                                   >> 592         call_pal PAL_rti
                                                   >> 593 
                                                   >> 594 
                                                   >> 595 /* PTRACE syscall handler */
                                                   >> 596 .align 3
                                                   >> 597 strace:
                                                   >> 598         /* set up signal stack, call syscall_trace */
                                                   >> 599         bsr     $1,do_switch_stack
                                                   >> 600         jsr     $26,syscall_trace
                                                   >> 601         bsr     $1,undo_switch_stack
                                                   >> 602 
                                                   >> 603         /* get the system call number and the arguments back.. */
                                                   >> 604         ldq     $0,0($30)
                                                   >> 605         ldq     $16,SP_OFF+24($30)
                                                   >> 606         ldq     $17,SP_OFF+32($30)
                                                   >> 607         ldq     $18,SP_OFF+40($30)
                                                   >> 608         ldq     $19,72($30)
                                                   >> 609         ldq     $20,80($30)
                                                   >> 610         ldq     $21,88($30)
                                                   >> 611 
                                                   >> 612         /* get the system call pointer.. */
                                                   >> 613         lda     $1,NR_SYSCALLS($31)
                                                   >> 614         lda     $2,sys_call_table
                                                   >> 615         lda     $27,alpha_ni_syscall
                                                   >> 616         cmpult  $0,$1,$1
                                                   >> 617         s8addq  $0,$2,$2
                                                   >> 618         beq     $1,1f
                                                   >> 619         ldq     $27,0($2)
                                                   >> 620 1:      jsr     $26,($27),sys_gettimeofday
                                                   >> 621         ldgp    $29,0($26)
                                                   >> 622 
                                                   >> 623         /* check return.. */
                                                   >> 624         blt     $0,strace_error /* the call failed */
                                                   >> 625         stq     $31,72($30)             /* a3=0 => no error */
                                                   >> 626 strace_success:
                                                   >> 627         stq     $0,0($30)               /* save return value */
                                                   >> 628 
                                                   >> 629         bsr     $1,do_switch_stack
                                                   >> 630         jsr     $26,syscall_trace
                                                   >> 631         bsr     $1,undo_switch_stack
                                                   >> 632         br      $31,ret_from_sys_call
                                                   >> 633 
                                                   >> 634         .align  3
                                                   >> 635 strace_error:
                                                   >> 636         ldq     $19,0($30)      /* old syscall nr (zero if success) */
                                                   >> 637         beq     $19,strace_success
                                                   >> 638         ldq     $20,72($30)     /* .. and this a3 */
                                                   >> 639 
                                                   >> 640         subq    $31,$0,$0       /* with error in v0 */
                                                   >> 641         addq    $31,1,$1        /* set a3 for errno return */
                                                   >> 642         stq     $0,0($30)
                                                   >> 643         stq     $1,72($30)      /* a3 for return */
                                                   >> 644 
                                                   >> 645         bsr     $1,do_switch_stack
                                                   >> 646         mov     $19,$9          /* save old syscall number */
                                                   >> 647         mov     $20,$10         /* save old a3 */
                                                   >> 648         jsr     $26,syscall_trace
                                                   >> 649         mov     $9,$19
                                                   >> 650         mov     $10,$20
                                                   >> 651         bsr     $1,undo_switch_stack
                                                   >> 652 
                                                   >> 653         mov     $31,$26         /* tell "ret_from_sys_call" we can restart */
                                                   >> 654         br      ret_from_sys_call
                                                   >> 655 
                                                   >> 656         .align 3
                                                   >> 657 syscall_error:
                                                   >> 658         /*
                                                   >> 659          * Some system calls (e.g., ptrace) can return arbitrary
                                                   >> 660          * values which might normally be mistaken as error numbers.
                                                   >> 661          * Those functions must zero $0 (v0) directly in the stack
                                                   >> 662          * frame to indicate that a negative return value wasn't an
                                                   >> 663          * error number..
                                                   >> 664          */
                                                   >> 665         ldq     $19,0($30)      /* old syscall nr (zero if success) */
                                                   >> 666         beq     $19,ret_success
                                                   >> 667 
                                                   >> 668         ldq     $20,72($30)     /* .. and this a3 */
                                                   >> 669         subq    $31,$0,$0       /* with error in v0 */
                                                   >> 670         addq    $31,1,$1        /* set a3 for errno return */
                                                   >> 671         stq     $0,0($30)
                                                   >> 672         mov     $31,$26         /* tell "ret_from_sys_call" we can restart */
                                                   >> 673         stq     $1,72($30)      /* a3 for return */
                                                   >> 674         br      ret_from_sys_call
                                                   >> 675 
                                                   >> 676 ret_success:
                                                   >> 677         stq     $0,0($30)
                                                   >> 678         stq     $31,72($30)     /* a3=0 => no error */
                                                   >> 679         br      ret_from_sys_call
                                                   >> 680 
                                                   >> 681 .align 3
                                                   >> 682 signal_return:
                                                   >> 683         mov     $30,$17
                                                   >> 684         br      $1,do_switch_stack
                                                   >> 685         mov     $30,$18
                                                   >> 686         mov     $31,$16
                                                   >> 687         jsr     $26,do_signal
                                                   >> 688         bsr     $1,undo_switch_stack
                                                   >> 689         br      restore_all
                                                   >> 690 .end entSys
                                                   >> 691 
                                                   >> 692         .globl  ret_from_fork
                                                   >> 693 .align 3
                                                   >> 694 .ent ret_from_fork
                                                   >> 695 ret_from_fork:
                                                   >> 696         lda     $26,ret_from_sys_call
                                                   >> 697         mov     $17,$16
                                                   >> 698         jsr     $31,schedule_tail
                                                   >> 699 .end ret_from_fork
                                                   >> 700 
                                                   >> 701 .align 3
                                                   >> 702 .ent reschedule
                                                   >> 703 reschedule:
                                                   >> 704         subq    $30,16,$30
                                                   >> 705         stq     $19,0($30)      /* save syscall nr */
                                                   >> 706         stq     $20,8($30)      /* and error indication (a3) */
                                                   >> 707         jsr     $26,schedule
                                                   >> 708         ldq     $19,0($30)
                                                   >> 709         ldq     $20,8($30)
                                                   >> 710         addq    $30,16,$30
                                                   >> 711         br      ret_from_reschedule
                                                   >> 712 .end reschedule
                                                   >> 713 
                                                   >> 714 .align 3
                                                   >> 715 .ent sys_sigreturn
                                                   >> 716 sys_sigreturn:
                                                   >> 717         mov     $30,$17
                                                   >> 718         lda     $18,-SWITCH_STACK_SIZE($30)
                                                   >> 719         lda     $30,-SWITCH_STACK_SIZE($30)
                                                   >> 720         jsr     $26,do_sigreturn
                                                   >> 721         br      $1,undo_switch_stack
                                                   >> 722         br      ret_from_sys_call
                                                   >> 723 .end sys_sigreturn
                                                   >> 724 
                                                   >> 725 .align 3
                                                   >> 726 .ent sys_rt_sigreturn
                                                   >> 727 sys_rt_sigreturn:
                                                   >> 728         mov     $30,$17
                                                   >> 729         lda     $18,-SWITCH_STACK_SIZE($30)
                                                   >> 730         lda     $30,-SWITCH_STACK_SIZE($30)
                                                   >> 731         jsr     $26,do_rt_sigreturn
                                                   >> 732         br      $1,undo_switch_stack
                                                   >> 733         br      ret_from_sys_call
                                                   >> 734 .end sys_rt_sigreturn
                                                   >> 735 
                                                   >> 736 .align 3
                                                   >> 737 .ent sys_sigsuspend
                                                   >> 738 sys_sigsuspend:
                                                   >> 739         mov     $30,$17
                                                   >> 740         br      $1,do_switch_stack
                                                   >> 741         mov     $30,$18
                                                   >> 742         subq    $30,16,$30
                                                   >> 743         stq     $26,0($30)
                                                   >> 744         jsr     $26,do_sigsuspend
                                                   >> 745         ldq     $26,0($30)
                                                   >> 746         lda     $30,SWITCH_STACK_SIZE+16($30)
                                                   >> 747         ret     $31,($26),1
                                                   >> 748 .end sys_sigsuspend
                                                   >> 749 
                                                   >> 750 .align 3
                                                   >> 751 .ent sys_rt_sigsuspend
                                                   >> 752 sys_rt_sigsuspend:
                                                   >> 753         mov     $30,$18
                                                   >> 754         br      $1,do_switch_stack
                                                   >> 755         mov     $30,$19
                                                   >> 756         subq    $30,16,$30
                                                   >> 757         stq     $26,0($30)
                                                   >> 758         jsr     $26,do_rt_sigsuspend
                                                   >> 759         ldq     $26,0($30)
                                                   >> 760         lda     $30,SWITCH_STACK_SIZE+16($30)
                                                   >> 761         ret     $31,($26),1
                                                   >> 762 .end sys_rt_sigsuspend
                                                   >> 763 
                                                   >> 764         .data
                                                   >> 765         .align 3
                                                   >> 766         .globl sys_call_table
                                                   >> 767 sys_call_table:
                                                   >> 768         .quad alpha_ni_syscall                  /* 0 */
                                                   >> 769         .quad sys_exit
                                                   >> 770         .quad sys_fork
                                                   >> 771         .quad sys_read
                                                   >> 772         .quad sys_write
                                                   >> 773         .quad alpha_ni_syscall                  /* 5 */
                                                   >> 774         .quad sys_close
                                                   >> 775         .quad osf_wait4
                                                   >> 776         .quad alpha_ni_syscall
                                                   >> 777         .quad sys_link
                                                   >> 778         .quad sys_unlink                        /* 10 */
                                                   >> 779         .quad alpha_ni_syscall
                                                   >> 780         .quad sys_chdir
                                                   >> 781         .quad sys_fchdir
                                                   >> 782         .quad sys_mknod
                                                   >> 783         .quad sys_chmod                         /* 15 */
                                                   >> 784         .quad sys_chown
                                                   >> 785         .quad osf_brk
                                                   >> 786         .quad alpha_ni_syscall
                                                   >> 787         .quad sys_lseek
                                                   >> 788         .quad sys_getxpid                       /* 20 */
                                                   >> 789         .quad osf_mount
                                                   >> 790         .quad sys_umount
                                                   >> 791         .quad sys_setuid
                                                   >> 792         .quad sys_getxuid
                                                   >> 793         .quad alpha_ni_syscall                  /* 25 */
                                                   >> 794         .quad sys_ptrace
                                                   >> 795         .quad alpha_ni_syscall
                                                   >> 796         .quad alpha_ni_syscall
                                                   >> 797         .quad alpha_ni_syscall
                                                   >> 798         .quad alpha_ni_syscall                  /* 30 */
                                                   >> 799         .quad alpha_ni_syscall
                                                   >> 800         .quad alpha_ni_syscall
                                                   >> 801         .quad sys_access
                                                   >> 802         .quad alpha_ni_syscall
                                                   >> 803         .quad alpha_ni_syscall                  /* 35 */
                                                   >> 804         .quad sys_sync
                                                   >> 805         .quad sys_kill
                                                   >> 806         .quad alpha_ni_syscall
                                                   >> 807         .quad sys_setpgid
                                                   >> 808         .quad alpha_ni_syscall                  /* 40 */
                                                   >> 809         .quad sys_dup
                                                   >> 810         .quad sys_pipe
                                                   >> 811         .quad osf_set_program_attributes
                                                   >> 812         .quad alpha_ni_syscall
                                                   >> 813         .quad sys_open                          /* 45 */
                                                   >> 814         .quad alpha_ni_syscall
                                                   >> 815         .quad sys_getxgid
                                                   >> 816         .quad osf_sigprocmask
                                                   >> 817         .quad alpha_ni_syscall
                                                   >> 818         .quad alpha_ni_syscall                  /* 50 */
                                                   >> 819         .quad sys_acct
                                                   >> 820         .quad sys_sigpending
                                                   >> 821         .quad alpha_ni_syscall
                                                   >> 822         .quad sys_ioctl
                                                   >> 823         .quad alpha_ni_syscall                  /* 55 */
                                                   >> 824         .quad alpha_ni_syscall
                                                   >> 825         .quad sys_symlink
                                                   >> 826         .quad sys_readlink
                                                   >> 827         .quad sys_execve
                                                   >> 828         .quad sys_umask                         /* 60 */
                                                   >> 829         .quad sys_chroot
                                                   >> 830         .quad alpha_ni_syscall
                                                   >> 831         .quad sys_getpgrp
                                                   >> 832         .quad sys_getpagesize
                                                   >> 833         .quad alpha_ni_syscall                  /* 65 */
                                                   >> 834         .quad sys_vfork
                                                   >> 835         .quad sys_newstat
                                                   >> 836         .quad sys_newlstat
                                                   >> 837         .quad alpha_ni_syscall
                                                   >> 838         .quad alpha_ni_syscall                  /* 70 */
                                                   >> 839         .quad osf_mmap
                                                   >> 840         .quad alpha_ni_syscall
                                                   >> 841         .quad sys_munmap
                                                   >> 842         .quad sys_mprotect
                                                   >> 843         .quad sys_madvise                       /* 75 */
                                                   >> 844         .quad sys_vhangup
                                                   >> 845         .quad alpha_ni_syscall
                                                   >> 846         .quad alpha_ni_syscall
                                                   >> 847         .quad sys_getgroups
                                                   >> 848         /* map BSD's setpgrp to sys_setpgid for binary compatibility: */
                                                   >> 849         .quad sys_setgroups                     /* 80 */
                                                   >> 850         .quad alpha_ni_syscall
                                                   >> 851         .quad sys_setpgid
                                                   >> 852         .quad osf_setitimer
                                                   >> 853         .quad alpha_ni_syscall
                                                   >> 854         .quad alpha_ni_syscall                  /* 85 */
                                                   >> 855         .quad osf_getitimer
                                                   >> 856         .quad sys_gethostname
                                                   >> 857         .quad sys_sethostname
                                                   >> 858         .quad sys_getdtablesize
                                                   >> 859         .quad sys_dup2                          /* 90 */
                                                   >> 860         .quad sys_newfstat
                                                   >> 861         .quad sys_fcntl
                                                   >> 862         .quad osf_select
                                                   >> 863         .quad sys_poll
                                                   >> 864         .quad sys_fsync                         /* 95 */
                                                   >> 865         .quad sys_setpriority
                                                   >> 866         .quad sys_socket
                                                   >> 867         .quad sys_connect
                                                   >> 868         .quad sys_accept
                                                   >> 869         .quad osf_getpriority                   /* 100 */
                                                   >> 870         .quad sys_send
                                                   >> 871         .quad sys_recv
                                                   >> 872         .quad sys_sigreturn
                                                   >> 873         .quad sys_bind
                                                   >> 874         .quad sys_setsockopt                    /* 105 */
                                                   >> 875         .quad sys_listen
                                                   >> 876         .quad alpha_ni_syscall
                                                   >> 877         .quad alpha_ni_syscall
                                                   >> 878         .quad alpha_ni_syscall
                                                   >> 879         .quad alpha_ni_syscall                  /* 110 */
                                                   >> 880         .quad sys_sigsuspend
                                                   >> 881         .quad osf_sigstack
                                                   >> 882         .quad sys_recvmsg
                                                   >> 883         .quad sys_sendmsg
                                                   >> 884         .quad alpha_ni_syscall                  /* 115 */
                                                   >> 885         .quad osf_gettimeofday
                                                   >> 886         .quad osf_getrusage
                                                   >> 887         .quad sys_getsockopt
                                                   >> 888         .quad alpha_ni_syscall
                                                   >> 889 #ifdef CONFIG_OSF4_COMPAT
                                                   >> 890         .quad osf_readv                         /* 120 */
                                                   >> 891         .quad osf_writev
                                                   >> 892 #else
                                                   >> 893         .quad sys_readv                         /* 120 */
                                                   >> 894         .quad sys_writev
342 #endif                                            895 #endif
343                                                !! 896         .quad osf_settimeofday
344         b       .Lrestore_regs                 !! 897         .quad sys_fchown
345                                                !! 898         .quad sys_fchmod
346 ##### DONT ADD CODE HERE - .Lrestore_regs actu !! 899         .quad sys_recvfrom                      /* 125 */
347                                                !! 900         .quad sys_setreuid
                                                   >> 901         .quad sys_setregid
                                                   >> 902         .quad sys_rename
                                                   >> 903         .quad sys_truncate
                                                   >> 904         .quad sys_ftruncate                     /* 130 */
                                                   >> 905         .quad sys_flock
                                                   >> 906         .quad sys_setgid
                                                   >> 907         .quad sys_sendto
                                                   >> 908         .quad sys_shutdown
                                                   >> 909         .quad sys_socketpair                    /* 135 */
                                                   >> 910         .quad sys_mkdir
                                                   >> 911         .quad sys_rmdir
                                                   >> 912         .quad osf_utimes
                                                   >> 913         .quad alpha_ni_syscall
                                                   >> 914         .quad alpha_ni_syscall                  /* 140 */
                                                   >> 915         .quad sys_getpeername
                                                   >> 916         .quad alpha_ni_syscall
                                                   >> 917         .quad alpha_ni_syscall
                                                   >> 918         .quad sys_getrlimit
                                                   >> 919         .quad sys_setrlimit                     /* 145 */
                                                   >> 920         .quad alpha_ni_syscall
                                                   >> 921         .quad sys_setsid
                                                   >> 922         .quad sys_quotactl
                                                   >> 923         .quad alpha_ni_syscall
                                                   >> 924         .quad sys_getsockname                   /* 150 */
                                                   >> 925         .quad alpha_ni_syscall
                                                   >> 926         .quad alpha_ni_syscall
                                                   >> 927         .quad alpha_ni_syscall
                                                   >> 928         .quad alpha_ni_syscall
                                                   >> 929         .quad alpha_ni_syscall                  /* 155 */
                                                   >> 930         .quad osf_sigaction
                                                   >> 931         .quad alpha_ni_syscall
                                                   >> 932         .quad alpha_ni_syscall
                                                   >> 933         .quad osf_getdirentries
                                                   >> 934         .quad osf_statfs                        /* 160 */
                                                   >> 935         .quad osf_fstatfs
                                                   >> 936         .quad alpha_ni_syscall
                                                   >> 937         .quad alpha_ni_syscall
                                                   >> 938         .quad alpha_ni_syscall
                                                   >> 939         .quad osf_getdomainname                 /* 165 */
                                                   >> 940         .quad sys_setdomainname
                                                   >> 941         .quad alpha_ni_syscall
                                                   >> 942         .quad alpha_ni_syscall
                                                   >> 943         .quad alpha_ni_syscall
                                                   >> 944         .quad alpha_ni_syscall                  /* 170 */
                                                   >> 945         .quad alpha_ni_syscall
                                                   >> 946         .quad alpha_ni_syscall
                                                   >> 947         .quad alpha_ni_syscall
                                                   >> 948         .quad alpha_ni_syscall
                                                   >> 949         .quad alpha_ni_syscall                  /* 175 */
                                                   >> 950         .quad alpha_ni_syscall
                                                   >> 951         .quad alpha_ni_syscall
                                                   >> 952         .quad alpha_ni_syscall
                                                   >> 953         .quad alpha_ni_syscall
                                                   >> 954         .quad alpha_ni_syscall                  /* 180 */
                                                   >> 955         .quad alpha_ni_syscall
                                                   >> 956         .quad alpha_ni_syscall
                                                   >> 957         .quad alpha_ni_syscall
                                                   >> 958         .quad alpha_ni_syscall
                                                   >> 959         .quad alpha_ni_syscall                  /* 185 */
                                                   >> 960         .quad alpha_ni_syscall
                                                   >> 961         .quad alpha_ni_syscall
                                                   >> 962         .quad alpha_ni_syscall
                                                   >> 963         .quad alpha_ni_syscall
                                                   >> 964         .quad alpha_ni_syscall                  /* 190 */
                                                   >> 965         .quad alpha_ni_syscall
                                                   >> 966         .quad alpha_ni_syscall
                                                   >> 967         .quad alpha_ni_syscall
                                                   >> 968         .quad alpha_ni_syscall
                                                   >> 969         .quad alpha_ni_syscall                  /* 195 */
                                                   >> 970         .quad alpha_ni_syscall
                                                   >> 971         .quad alpha_ni_syscall
                                                   >> 972         .quad alpha_ni_syscall
                                                   >> 973         .quad osf_swapon
                                                   >> 974         .quad sys_msgctl                        /* 200 */
                                                   >> 975         .quad sys_msgget
                                                   >> 976         .quad sys_msgrcv
                                                   >> 977         .quad sys_msgsnd
                                                   >> 978         .quad sys_semctl
                                                   >> 979         .quad sys_semget                        /* 205 */
                                                   >> 980         .quad sys_semop
                                                   >> 981         .quad osf_utsname
                                                   >> 982         .quad sys_lchown
                                                   >> 983         .quad osf_shmat
                                                   >> 984         .quad sys_shmctl                        /* 210 */
                                                   >> 985         .quad sys_shmdt
                                                   >> 986         .quad sys_shmget
                                                   >> 987         .quad alpha_ni_syscall
                                                   >> 988         .quad alpha_ni_syscall
                                                   >> 989         .quad alpha_ni_syscall                  /* 215 */
                                                   >> 990         .quad alpha_ni_syscall
                                                   >> 991         .quad sys_msync
                                                   >> 992         .quad alpha_ni_syscall
                                                   >> 993         .quad alpha_ni_syscall
                                                   >> 994         .quad alpha_ni_syscall                  /* 220 */
                                                   >> 995         .quad alpha_ni_syscall
                                                   >> 996         .quad alpha_ni_syscall
                                                   >> 997         .quad alpha_ni_syscall
                                                   >> 998         .quad alpha_ni_syscall
                                                   >> 999         .quad alpha_ni_syscall                  /* 225 */
                                                   >> 1000         .quad alpha_ni_syscall
                                                   >> 1001         .quad alpha_ni_syscall
                                                   >> 1002         .quad alpha_ni_syscall
                                                   >> 1003         .quad alpha_ni_syscall
                                                   >> 1004         .quad alpha_ni_syscall                  /* 230 */
                                                   >> 1005         .quad alpha_ni_syscall
                                                   >> 1006         .quad alpha_ni_syscall
                                                   >> 1007         .quad sys_getpgid
                                                   >> 1008         .quad sys_getsid
                                                   >> 1009         .quad sys_sigaltstack                   /* 235 */
                                                   >> 1010         .quad alpha_ni_syscall
                                                   >> 1011         .quad alpha_ni_syscall
                                                   >> 1012         .quad alpha_ni_syscall
                                                   >> 1013         .quad alpha_ni_syscall
                                                   >> 1014         .quad alpha_ni_syscall                  /* 240 */
                                                   >> 1015         .quad osf_sysinfo
                                                   >> 1016         .quad alpha_ni_syscall
                                                   >> 1017         .quad alpha_ni_syscall
                                                   >> 1018         .quad osf_proplist_syscall
                                                   >> 1019         .quad alpha_ni_syscall                  /* 245 */
                                                   >> 1020         .quad alpha_ni_syscall
                                                   >> 1021         .quad alpha_ni_syscall
                                                   >> 1022         .quad alpha_ni_syscall
                                                   >> 1023         .quad alpha_ni_syscall
                                                   >> 1024         .quad alpha_ni_syscall                  /* 250 */
                                                   >> 1025         .quad osf_usleep_thread
                                                   >> 1026         .quad alpha_ni_syscall
                                                   >> 1027         .quad alpha_ni_syscall
                                                   >> 1028         .quad sys_sysfs
                                                   >> 1029         .quad alpha_ni_syscall                  /* 255 */
                                                   >> 1030         .quad osf_getsysinfo
                                                   >> 1031         .quad osf_setsysinfo
                                                   >> 1032         .quad alpha_ni_syscall
                                                   >> 1033         .quad alpha_ni_syscall
                                                   >> 1034         .quad alpha_ni_syscall                  /* 260 */
                                                   >> 1035         .quad alpha_ni_syscall
                                                   >> 1036         .quad alpha_ni_syscall
                                                   >> 1037         .quad alpha_ni_syscall
                                                   >> 1038         .quad alpha_ni_syscall
                                                   >> 1039         .quad alpha_ni_syscall                  /* 265 */
                                                   >> 1040         .quad alpha_ni_syscall
                                                   >> 1041         .quad alpha_ni_syscall
                                                   >> 1042         .quad alpha_ni_syscall
                                                   >> 1043         .quad alpha_ni_syscall
                                                   >> 1044         .quad alpha_ni_syscall                  /* 270 */
                                                   >> 1045         .quad alpha_ni_syscall
                                                   >> 1046         .quad alpha_ni_syscall
                                                   >> 1047         .quad alpha_ni_syscall
                                                   >> 1048         .quad alpha_ni_syscall
                                                   >> 1049         .quad alpha_ni_syscall                  /* 275 */
                                                   >> 1050         .quad alpha_ni_syscall
                                                   >> 1051         .quad alpha_ni_syscall
                                                   >> 1052         .quad alpha_ni_syscall
                                                   >> 1053         .quad alpha_ni_syscall
                                                   >> 1054         .quad alpha_ni_syscall                  /* 280 */
                                                   >> 1055         .quad alpha_ni_syscall
                                                   >> 1056         .quad alpha_ni_syscall
                                                   >> 1057         .quad alpha_ni_syscall
                                                   >> 1058         .quad alpha_ni_syscall
                                                   >> 1059         .quad alpha_ni_syscall                  /* 285 */
                                                   >> 1060         .quad alpha_ni_syscall
                                                   >> 1061         .quad alpha_ni_syscall
                                                   >> 1062         .quad alpha_ni_syscall
                                                   >> 1063         .quad alpha_ni_syscall
                                                   >> 1064         .quad alpha_ni_syscall                  /* 290 */
                                                   >> 1065         .quad alpha_ni_syscall
                                                   >> 1066         .quad alpha_ni_syscall
                                                   >> 1067         .quad alpha_ni_syscall
                                                   >> 1068         .quad alpha_ni_syscall
                                                   >> 1069         .quad alpha_ni_syscall                  /* 295 */
                                                   >> 1070         .quad alpha_ni_syscall
                                                   >> 1071         .quad alpha_ni_syscall
                                                   >> 1072         .quad alpha_ni_syscall
                                                   >> 1073         .quad alpha_ni_syscall
                                                   >> 1074 /* linux-specific system calls start at 300 */
                                                   >> 1075         .quad sys_bdflush                       /* 300 */
                                                   >> 1076         .quad sys_sethae
                                                   >> 1077         .quad sys_mount
                                                   >> 1078         .quad sys_old_adjtimex
                                                   >> 1079         .quad sys_swapoff
                                                   >> 1080         .quad sys_getdents                      /* 305 */
                                                   >> 1081         .quad alpha_create_module
                                                   >> 1082         .quad sys_init_module
                                                   >> 1083         .quad sys_delete_module
                                                   >> 1084         .quad sys_get_kernel_syms
                                                   >> 1085         .quad sys_syslog                        /* 310 */
                                                   >> 1086         .quad sys_reboot
                                                   >> 1087         .quad sys_clone
                                                   >> 1088         .quad sys_uselib
                                                   >> 1089         .quad sys_mlock
                                                   >> 1090         .quad sys_munlock                       /* 315 */
                                                   >> 1091         .quad sys_mlockall
                                                   >> 1092         .quad sys_munlockall
                                                   >> 1093         .quad sys_sysinfo
                                                   >> 1094         .quad sys_sysctl
                                                   >> 1095         .quad sys_ni_syscall                    /* 320 */
                                                   >> 1096         .quad sys_oldumount
                                                   >> 1097         .quad sys_swapon
                                                   >> 1098         .quad sys_times
                                                   >> 1099         .quad sys_personality
                                                   >> 1100         .quad sys_setfsuid                      /* 325 */
                                                   >> 1101         .quad sys_setfsgid
                                                   >> 1102         .quad sys_ustat
                                                   >> 1103         .quad sys_statfs
                                                   >> 1104         .quad sys_fstatfs
                                                   >> 1105         .quad sys_sched_setparam                /* 330 */
                                                   >> 1106         .quad sys_sched_getparam
                                                   >> 1107         .quad sys_sched_setscheduler
                                                   >> 1108         .quad sys_sched_getscheduler
                                                   >> 1109         .quad sys_sched_yield
                                                   >> 1110         .quad sys_sched_get_priority_max        /* 335 */
                                                   >> 1111         .quad sys_sched_get_priority_min
                                                   >> 1112         .quad sys_sched_rr_get_interval
                                                   >> 1113         .quad sys_ni_syscall                    /* sys_afs_syscall */
                                                   >> 1114         .quad sys_newuname
                                                   >> 1115         .quad sys_nanosleep                     /* 340 */
                                                   >> 1116         .quad sys_mremap
                                                   >> 1117         .quad sys_nfsservctl
                                                   >> 1118         .quad sys_setresuid
                                                   >> 1119         .quad sys_getresuid
                                                   >> 1120         .quad sys_pciconfig_read                /* 345 */
                                                   >> 1121         .quad sys_pciconfig_write
                                                   >> 1122         .quad sys_query_module
                                                   >> 1123         .quad sys_prctl
                                                   >> 1124         .quad sys_pread
                                                   >> 1125         .quad sys_pwrite                        /* 350 */
                                                   >> 1126         .quad sys_rt_sigreturn
                                                   >> 1127         .quad sys_rt_sigaction
                                                   >> 1128         .quad sys_rt_sigprocmask
                                                   >> 1129         .quad sys_rt_sigpending
                                                   >> 1130         .quad sys_rt_sigtimedwait               /* 355 */
                                                   >> 1131         .quad sys_rt_sigqueueinfo
                                                   >> 1132         .quad sys_rt_sigsuspend
                                                   >> 1133         .quad sys_select
                                                   >> 1134         .quad sys_gettimeofday
                                                   >> 1135         .quad sys_settimeofday                  /* 360 */
                                                   >> 1136         .quad sys_getitimer
                                                   >> 1137         .quad sys_setitimer
                                                   >> 1138         .quad sys_utimes
                                                   >> 1139         .quad sys_getrusage
                                                   >> 1140         .quad sys_wait4                         /* 365 */
                                                   >> 1141         .quad sys_adjtimex
                                                   >> 1142         .quad sys_getcwd
                                                   >> 1143         .quad sys_capget
                                                   >> 1144         .quad sys_capset
                                                   >> 1145         .quad sys_sendfile                      /* 370 */
                                                   >> 1146         .quad sys_setresgid
                                                   >> 1147         .quad sys_getresgid
                                                   >> 1148         .quad sys_ni_syscall                    /* sys_dipc */
                                                   >> 1149         .quad sys_pivot_root
                                                   >> 1150         .quad sys_mincore                       /* 375 */
                                                   >> 1151         .quad sys_pciconfig_iobase
                                                   >> 1152         .quad sys_getdents64
                                                   >> 1153         .quad sys_gettid
                                                   >> 1154         .quad sys_readahead
                                                   >> 1155         .quad sys_ni_syscall                    /* 380, sys_security */
                                                   >> 1156         .quad sys_tkill
                                                   >> 1157 
                                                   >> 1158 /* Remember to update everything, kids.  */
                                                   >> 1159 .ifne (. - sys_call_table) - (NR_SYSCALLS * 8)
                                                   >> 1160 .err
                                                   >> 1161 .endif
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php