OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [arch/] [m68k/] [kernel/] [entry.S] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
/* -*- mode: asm -*-
2
 *
3
 *  linux/arch/m68k/kernel/entry.S
4
 *
5
 *  Copyright (C) 1991, 1992  Linus Torvalds
6
 *
7
 * This file is subject to the terms and conditions of the GNU General Public
8
 * License.  See the file README.legal in the main directory of this archive
9
 * for more details.
10
 *
11
 * Linux/m68k support by Hamish Macdonald
12
 *
13
 * 68060 fixes by Jesper Skov
14
 *
15
 */
16
 
17
/*
18
 * entry.S  contains the system-call and fault low-level handling routines.
19
 * This also contains the timer-interrupt handler, as well as all interrupts
20
 * and faults that can result in a task-switch.
21
 *
22
 * NOTE: This code handles signal-recognition, which happens every time
23
 * after a timer-interrupt and after each system call.
24
 *
25
 */
26
 
27
/*
28
 * 12/03/96 Jes: Currently we only support m68k single-cpu systems, so
29
 *               all pointers that used to be 'current' are now entry
30
 *               number 0 in the 'current_set' list.
31
 *
32
 *  6/05/00 RZ:  addedd writeback completion after return from sighandler
33
 *               for 68040
34
 */
35
 
36
#include 
37
#include 
38
#include 
39
#include 
40
#include 
41
#include 
42
#include 
43
#include 
44
 
45
#include "m68k_defs.h"
46
 
47
.globl SYMBOL_NAME(system_call), SYMBOL_NAME(buserr), SYMBOL_NAME(trap)
48
.globl SYMBOL_NAME(resume), SYMBOL_NAME(ret_from_exception)
49
.globl SYMBOL_NAME(ret_from_signal)
50
.globl SYMBOL_NAME(inthandler), SYMBOL_NAME(sys_call_table)
51
.globl SYMBOL_NAME(sys_fork), SYMBOL_NAME(sys_clone), SYMBOL_NAME(sys_vfork)
52
.globl SYMBOL_NAME(ret_from_interrupt), SYMBOL_NAME(bad_interrupt)
53
 
54
.text
55
ENTRY(buserr)
56
        SAVE_ALL_INT
57
        GET_CURRENT(%d0)
58
        movel   %sp,%sp@-               | stack frame pointer argument
59
        bsrl    SYMBOL_NAME(buserr_c)
60
        addql   #4,%sp
61
        jra     SYMBOL_NAME(ret_from_exception)
62
 
63
ENTRY(trap)
64
        SAVE_ALL_INT
65
        GET_CURRENT(%d0)
66
        movel   %sp,%sp@-               | stack frame pointer argument
67
        bsrl    SYMBOL_NAME(trap_c)
68
        addql   #4,%sp
69
        jra     SYMBOL_NAME(ret_from_exception)
70
 
71
ENTRY(reschedule)
72
        | save top of frame
73
        movel   %sp,%curptr@(TASK_THREAD+THREAD_ESP0)
74
 
75
        pea     SYMBOL_NAME(ret_from_exception)
76
        jmp     SYMBOL_NAME(schedule)
77
 
78
        | After a fork we jump here directly from resume,
79
        | so that %d1 contains the previous task
80
        | Theoretically only needed on SMP, but let's watch
81
        | what happens in schedule_tail() in future...
82
ENTRY(ret_from_fork)
83
        movel   %d1,%sp@-
84
        jsr     SYMBOL_NAME(schedule_tail)
85
        addql   #4,%sp
86
        jra     SYMBOL_NAME(ret_from_exception)
87
 
88
badsys:
89
        movel   #-ENOSYS,%sp@(PT_D0)
90
        jra     SYMBOL_NAME(ret_from_exception)
91
 
92
do_trace:
93
        movel   #-ENOSYS,%sp@(PT_D0)    | needed for strace
94
        subql   #4,%sp
95
        SAVE_SWITCH_STACK
96
        jbsr    SYMBOL_NAME(syscall_trace)
97
        RESTORE_SWITCH_STACK
98
        addql   #4,%sp
99
        movel   %sp@(PT_ORIG_D0),%d1
100
        movel   #-ENOSYS,%d0
101
        cmpl    #NR_syscalls,%d1
102
        jcc     1f
103
        jbsr    @(SYMBOL_NAME(sys_call_table),%d1:l:4)@(0)
104
1:      movel   %d0,%sp@(PT_D0)         | save the return value
105
        subql   #4,%sp                  | dummy return address
106
        SAVE_SWITCH_STACK
107
        jbsr    SYMBOL_NAME(syscall_trace)
108
 
109
SYMBOL_NAME_LABEL(ret_from_signal)
110
        RESTORE_SWITCH_STACK
111
        addql   #4,%sp
112
/* on 68040 complete pending writebacks if any */
113
#ifdef CONFIG_M68040
114
        bfextu  %sp@(PT_VECTOR){#0,#4},%d0
115
        subql   #7,%d0                          | bus error frame ?
116
        jbne    1f
117
        movel   %sp,%sp@-
118
        jbsr    SYMBOL_NAME(berr_040cleanup)
119
        addql   #4,%sp
120
1:
121
#endif
122
        jra     SYMBOL_NAME(ret_from_exception)
123
 
124
ENTRY(system_call)
125
        SAVE_ALL_SYS
126
 
127
        GET_CURRENT(%d1)
128
        | save top of frame
129
        movel   %sp,%curptr@(TASK_THREAD+THREAD_ESP0)
130
 
131
        btst    #PT_TRACESYS_BIT,%curptr@(TASK_PTRACE+PT_TRACESYS_OFF)
132
        jne     do_trace
133
        cmpl    #NR_syscalls,%d0
134
        jcc     badsys
135
        jbsr    @(SYMBOL_NAME(sys_call_table),%d0:l:4)@(0)
136
        movel   %d0,%sp@(PT_D0)         | save the return value
137
 
138
SYMBOL_NAME_LABEL(ret_from_exception)
139
        btst    #5,%sp@(PT_SR)          | check if returning to kernel
140
        bnes    2f                      | if so, skip resched, signals
141
        | only allow interrupts when we are really the last one on the
142
        | kernel stack, otherwise stack overflow can occur during
143
        | heavy interrupt load
144
        andw    #ALLOWINT,%sr
145
        tstl    %curptr@(TASK_NEEDRESCHED)
146
        jne     SYMBOL_NAME(reschedule)
147
#if 0
148
        cmpl    #SYMBOL_NAME(task),%curptr      | task[0] cannot have signals
149
        jeq     2f
150
#endif
151
                                        | check for delayed trace
152
        bclr    #PT_DTRACE_BIT,%curptr@(TASK_PTRACE+PT_DTRACE_OFF)
153
        jne     do_delayed_trace
154
5:
155
        tstl    %curptr@(TASK_STATE)    | state
156
        jne     SYMBOL_NAME(reschedule)
157
 
158
        tstl    %curptr@(TASK_SIGPENDING)
159
        jne     Lsignal_return
160
2:      RESTORE_ALL
161
 
162
Lsignal_return:
163
        subql   #4,%sp                  | dummy return address
164
        SAVE_SWITCH_STACK
165
        pea     %sp@(SWITCH_STACK_SIZE)
166
        clrl    %sp@-
167
        bsrl    SYMBOL_NAME(do_signal)
168
        addql   #8,%sp
169
        RESTORE_SWITCH_STACK
170
        addql   #4,%sp
171
        RESTORE_ALL
172
 
173
do_delayed_trace:
174
        bclr    #7,%sp@(PT_SR)          | clear trace bit in SR
175
        pea     1                       | send SIGTRAP
176
        movel   %curptr,%sp@-
177
        pea     LSIGTRAP
178
        jbsr    SYMBOL_NAME(send_sig)
179
        addql   #8,%sp
180
        addql   #4,%sp
181
        jra     5b
182
 
183
 
184
#if 0
185
#if CONFIG_AMIGA
186
SYMBOL_NAME_LABEL(ami_inthandler)
187
        addql   #1,SYMBOL_NAME(irq_stat)+4      | local_irq_count
188
        SAVE_ALL_INT
189
        GET_CURRENT(%d0)
190
 
191
        bfextu  %sp@(PT_VECTOR){#4,#12},%d0
192
        movel   %d0,%a0
193
        addql   #1,%a0@(SYMBOL_NAME(kstat)+STAT_IRQ-VECOFF(VEC_SPUR))
194
        movel   %a0@(SYMBOL_NAME(autoirq_list)-VECOFF(VEC_SPUR)),%a0
195
 
196
| amiga vector int handler get the req mask instead of irq vector
197
        lea     CUSTOMBASE,%a1
198
        movew   %a1@(C_INTREQR),%d0
199
        andw    %a1@(C_INTENAR),%d0
200
 
201
| prepare stack (push frame pointer, dev_id & req mask)
202
        pea     %sp@
203
        movel   %a0@(IRQ_DEVID),%sp@-
204
        movel   %d0,%sp@-
205
        pea     %pc@(SYMBOL_NAME(ret_from_interrupt):w)
206
        jbra    @(IRQ_HANDLER,%a0)@(0)
207
 
208
ENTRY(nmi_handler)
209
        rte
210
#endif
211
#endif
212
 
213
/*
214
** This is the main interrupt handler, responsible for calling process_int()
215
*/
216
SYMBOL_NAME_LABEL(inthandler)
217
        SAVE_ALL_INT
218
        GET_CURRENT(%d0)
219
        addql   #1,SYMBOL_NAME(irq_stat)+4      | local_irq_count
220
                                        |  put exception # in d0
221
        bfextu %sp@(PT_VECTOR){#4,#10},%d0
222
 
223
        movel   %sp,%sp@-
224
        movel   %d0,%sp@-               |  put vector # on stack
225
#if defined(MACH_Q40_ONLY) && defined(CONFIG_BLK_DEV_FD)
226
        btstb   #4,0xff000000   | Q40 floppy needs very special treatment ...
227
        jbeq    1f
228
        btstb   #3,0xff000004
229
        jbeq    1f
230
        jbsr    SYMBOL_NAME(floppy_hardint)
231
        jbra    3f
232
1:
233
#endif
234
        jbsr    SYMBOL_NAME(process_int)|  process the IRQ
235
3:      addql   #8,%sp                  |  pop parameters off stack
236
 
237
SYMBOL_NAME_LABEL(ret_from_interrupt)
238
        subql   #1,SYMBOL_NAME(irq_stat)+4      | local_irq_count
239
        jeq     1f
240
2:
241
        RESTORE_ALL
242
1:
243
        moveq   #(~ALLOWINT>>8)&0xff,%d0
244
        andb    %sp@(PT_SR),%d0
245
        jne     2b
246
 
247
        /* check if we need to do software interrupts */
248
        tstl    SYMBOL_NAME(irq_stat)   | softirq_pending ?
249
        jeq     SYMBOL_NAME(ret_from_exception)
250
        pea     SYMBOL_NAME(ret_from_exception)
251
        jra     SYMBOL_NAME(do_softirq)
252
 
253
 
254
/* Handler for uninitialized and spurious interrupts */
255
 
256
SYMBOL_NAME_LABEL(bad_interrupt)
257
        addql   #1,SYMBOL_NAME(num_spurious)
258
        rte
259
 
260
ENTRY(sys_fork)
261
        SAVE_SWITCH_STACK
262
        pea     %sp@(SWITCH_STACK_SIZE)
263
        jbsr    SYMBOL_NAME(m68k_fork)
264
        addql   #4,%sp
265
        RESTORE_SWITCH_STACK
266
        rts
267
 
268
ENTRY(sys_clone)
269
        SAVE_SWITCH_STACK
270
        pea     %sp@(SWITCH_STACK_SIZE)
271
        jbsr    SYMBOL_NAME(m68k_clone)
272
        addql   #4,%sp
273
        RESTORE_SWITCH_STACK
274
        rts
275
 
276
ENTRY(sys_vfork)
277
        SAVE_SWITCH_STACK
278
        pea     %sp@(SWITCH_STACK_SIZE)
279
        jbsr    SYMBOL_NAME(m68k_vfork)
280
        addql   #4,%sp
281
        RESTORE_SWITCH_STACK
282
        rts
283
 
284
ENTRY(sys_sigsuspend)
285
        SAVE_SWITCH_STACK
286
        pea     %sp@(SWITCH_STACK_SIZE)
287
        jbsr    SYMBOL_NAME(do_sigsuspend)
288
        addql   #4,%sp
289
        RESTORE_SWITCH_STACK
290
        rts
291
 
292
ENTRY(sys_rt_sigsuspend)
293
        SAVE_SWITCH_STACK
294
        pea     %sp@(SWITCH_STACK_SIZE)
295
        jbsr    SYMBOL_NAME(do_rt_sigsuspend)
296
        addql   #4,%sp
297
        RESTORE_SWITCH_STACK
298
        rts
299
 
300
ENTRY(sys_sigreturn)
301
        SAVE_SWITCH_STACK
302
        jbsr    SYMBOL_NAME(do_sigreturn)
303
        RESTORE_SWITCH_STACK
304
        rts
305
 
306
ENTRY(sys_rt_sigreturn)
307
        SAVE_SWITCH_STACK
308
        jbsr    SYMBOL_NAME(do_rt_sigreturn)
309
        RESTORE_SWITCH_STACK
310
        rts
311
 
312
SYMBOL_NAME_LABEL(resume)
313
        /*
314
         * Beware - when entering resume, prev (the current task) is
315
         * in a0, next (the new task) is in a1,so don't change these
316
         * registers until their contents are no longer needed.
317
         */
318
 
319
        /* save sr */
320
        movew   %sr,%a0@(TASK_THREAD+THREAD_SR)
321
 
322
        /* save fs (sfc,%dfc) (may be pointing to kernel memory) */
323
        movec   %sfc,%d0
324
        movew   %d0,%a0@(TASK_THREAD+THREAD_FS)
325
 
326
        /* save usp */
327
        /* it is better to use a movel here instead of a movew 8*) */
328
        movec   %usp,%d0
329
        movel   %d0,%a0@(TASK_THREAD+THREAD_USP)
330
 
331
        /* save non-scratch registers on stack */
332
        SAVE_SWITCH_STACK
333
 
334
        /* save current kernel stack pointer */
335
        movel   %sp,%a0@(TASK_THREAD+THREAD_KSP)
336
 
337
        /* save floating point context */
338
#ifndef CONFIG_M68KFPU_EMU_ONLY
339
#ifdef CONFIG_M68KFPU_EMU
340
        tstl    SYMBOL_NAME(m68k_fputype)
341
        jeq     3f
342
#endif
343
        fsave   %a0@(TASK_THREAD+THREAD_FPSTATE)
344
 
345
#if defined(CONFIG_M68060)
346
#if !defined(CPU_M68060_ONLY)
347
        btst    #3,SYMBOL_NAME(m68k_cputype)+3
348
        beqs    1f
349
#endif
350
        /* The 060 FPU keeps status in bits 15-8 of the first longword */
351
        tstb    %a0@(TASK_THREAD+THREAD_FPSTATE+2)
352
        jeq     3f
353
#if !defined(CPU_M68060_ONLY)
354
        jra     2f
355
#endif
356
#endif /* CONFIG_M68060 */
357
#if !defined(CPU_M68060_ONLY)
358
1:      tstb    %a0@(TASK_THREAD+THREAD_FPSTATE)
359
        jeq     3f
360
#endif
361
2:      fmovemx %fp0-%fp7,%a0@(TASK_THREAD+THREAD_FPREG)
362
        fmoveml %fpcr/%fpsr/%fpiar,%a0@(TASK_THREAD+THREAD_FPCNTL)
363
3:
364
#endif  /* CONFIG_M68KFPU_EMU_ONLY */
365
        /* Return previous task in %d1 */
366
        movel   %curptr,%d1
367
 
368
        /* switch to new task (a1 contains new task) */
369
        movel   %a1,%curptr
370
 
371
        /* restore floating point context */
372
#ifndef CONFIG_M68KFPU_EMU_ONLY
373
#ifdef CONFIG_M68KFPU_EMU
374
        tstl    SYMBOL_NAME(m68k_fputype)
375
        jeq     4f
376
#endif
377
#if defined(CONFIG_M68060)
378
#if !defined(CPU_M68060_ONLY)
379
        btst    #3,SYMBOL_NAME(m68k_cputype)+3
380
        beqs    1f
381
#endif
382
        /* The 060 FPU keeps status in bits 15-8 of the first longword */
383
        tstb    %a1@(TASK_THREAD+THREAD_FPSTATE+2)
384
        jeq     3f
385
#if !defined(CPU_M68060_ONLY)
386
        jra     2f
387
#endif
388
#endif /* CONFIG_M68060 */
389
#if !defined(CPU_M68060_ONLY)
390
1:      tstb    %a1@(TASK_THREAD+THREAD_FPSTATE)
391
        jeq     3f
392
#endif
393
2:      fmovemx %a1@(TASK_THREAD+THREAD_FPREG),%fp0-%fp7
394
        fmoveml %a1@(TASK_THREAD+THREAD_FPCNTL),%fpcr/%fpsr/%fpiar
395
3:      frestore %a1@(TASK_THREAD+THREAD_FPSTATE)
396
4:
397
#endif  /* CONFIG_M68KFPU_EMU_ONLY */
398
 
399
        /* restore the kernel stack pointer */
400
        movel   %a1@(TASK_THREAD+THREAD_KSP),%sp
401
 
402
        /* restore non-scratch registers */
403
        RESTORE_SWITCH_STACK
404
 
405
        /* restore user stack pointer */
406
        movel   %a1@(TASK_THREAD+THREAD_USP),%a0
407
        movel   %a0,%usp
408
 
409
        /* restore fs (sfc,%dfc) */
410
        movew   %a1@(TASK_THREAD+THREAD_FS),%a0
411
        movec   %a0,%sfc
412
        movec   %a0,%dfc
413
 
414
        /* restore status register */
415
        movew   %a1@(TASK_THREAD+THREAD_SR),%sr
416
 
417
        rts
418
 
419
.data
420
ALIGN
421
SYMBOL_NAME_LABEL(sys_call_table)
422
        .long SYMBOL_NAME(sys_ni_syscall)       /* 0  -  old "setup()" system call*/
423
        .long SYMBOL_NAME(sys_exit)
424
        .long SYMBOL_NAME(sys_fork)
425
        .long SYMBOL_NAME(sys_read)
426
        .long SYMBOL_NAME(sys_write)
427
        .long SYMBOL_NAME(sys_open)             /* 5 */
428
        .long SYMBOL_NAME(sys_close)
429
        .long SYMBOL_NAME(sys_waitpid)
430
        .long SYMBOL_NAME(sys_creat)
431
        .long SYMBOL_NAME(sys_link)
432
        .long SYMBOL_NAME(sys_unlink)           /* 10 */
433
        .long SYMBOL_NAME(sys_execve)
434
        .long SYMBOL_NAME(sys_chdir)
435
        .long SYMBOL_NAME(sys_time)
436
        .long SYMBOL_NAME(sys_mknod)
437
        .long SYMBOL_NAME(sys_chmod)            /* 15 */
438
        .long SYMBOL_NAME(sys_chown16)
439
        .long SYMBOL_NAME(sys_ni_syscall)                               /* old break syscall holder */
440
        .long SYMBOL_NAME(sys_stat)
441
        .long SYMBOL_NAME(sys_lseek)
442
        .long SYMBOL_NAME(sys_getpid)           /* 20 */
443
        .long SYMBOL_NAME(sys_mount)
444
        .long SYMBOL_NAME(sys_oldumount)
445
        .long SYMBOL_NAME(sys_setuid16)
446
        .long SYMBOL_NAME(sys_getuid16)
447
        .long SYMBOL_NAME(sys_stime)            /* 25 */
448
        .long SYMBOL_NAME(sys_ptrace)
449
        .long SYMBOL_NAME(sys_alarm)
450
        .long SYMBOL_NAME(sys_fstat)
451
        .long SYMBOL_NAME(sys_pause)
452
        .long SYMBOL_NAME(sys_utime)            /* 30 */
453
        .long SYMBOL_NAME(sys_ni_syscall)                               /* old stty syscall holder */
454
        .long SYMBOL_NAME(sys_ni_syscall)                               /* old gtty syscall holder */
455
        .long SYMBOL_NAME(sys_access)
456
        .long SYMBOL_NAME(sys_nice)
457
        .long SYMBOL_NAME(sys_ni_syscall)       /* 35 */                /* old ftime syscall holder */
458
        .long SYMBOL_NAME(sys_sync)
459
        .long SYMBOL_NAME(sys_kill)
460
        .long SYMBOL_NAME(sys_rename)
461
        .long SYMBOL_NAME(sys_mkdir)
462
        .long SYMBOL_NAME(sys_rmdir)            /* 40 */
463
        .long SYMBOL_NAME(sys_dup)
464
        .long SYMBOL_NAME(sys_pipe)
465
        .long SYMBOL_NAME(sys_times)
466
        .long SYMBOL_NAME(sys_ni_syscall)                               /* old prof syscall holder */
467
        .long SYMBOL_NAME(sys_brk)              /* 45 */
468
        .long SYMBOL_NAME(sys_setgid16)
469
        .long SYMBOL_NAME(sys_getgid16)
470
        .long SYMBOL_NAME(sys_signal)
471
        .long SYMBOL_NAME(sys_geteuid16)
472
        .long SYMBOL_NAME(sys_getegid16)        /* 50 */
473
        .long SYMBOL_NAME(sys_acct)
474
        .long SYMBOL_NAME(sys_umount)                                   /* recycled never used phys() */
475
        .long SYMBOL_NAME(sys_ni_syscall)                               /* old lock syscall holder */
476
        .long SYMBOL_NAME(sys_ioctl)
477
        .long SYMBOL_NAME(sys_fcntl)            /* 55 */
478
        .long SYMBOL_NAME(sys_ni_syscall)                               /* old mpx syscall holder */
479
        .long SYMBOL_NAME(sys_setpgid)
480
        .long SYMBOL_NAME(sys_ni_syscall)                               /* old ulimit syscall holder */
481
        .long SYMBOL_NAME(sys_ni_syscall)
482
        .long SYMBOL_NAME(sys_umask)            /* 60 */
483
        .long SYMBOL_NAME(sys_chroot)
484
        .long SYMBOL_NAME(sys_ustat)
485
        .long SYMBOL_NAME(sys_dup2)
486
        .long SYMBOL_NAME(sys_getppid)
487
        .long SYMBOL_NAME(sys_getpgrp)          /* 65 */
488
        .long SYMBOL_NAME(sys_setsid)
489
        .long SYMBOL_NAME(sys_sigaction)
490
        .long SYMBOL_NAME(sys_sgetmask)
491
        .long SYMBOL_NAME(sys_ssetmask)
492
        .long SYMBOL_NAME(sys_setreuid16)       /* 70 */
493
        .long SYMBOL_NAME(sys_setregid16)
494
        .long SYMBOL_NAME(sys_sigsuspend)
495
        .long SYMBOL_NAME(sys_sigpending)
496
        .long SYMBOL_NAME(sys_sethostname)
497
        .long SYMBOL_NAME(sys_setrlimit)        /* 75 */
498
        .long SYMBOL_NAME(sys_old_getrlimit)
499
        .long SYMBOL_NAME(sys_getrusage)
500
        .long SYMBOL_NAME(sys_gettimeofday)
501
        .long SYMBOL_NAME(sys_settimeofday)
502
        .long SYMBOL_NAME(sys_getgroups16)      /* 80 */
503
        .long SYMBOL_NAME(sys_setgroups16)
504
        .long SYMBOL_NAME(old_select)
505
        .long SYMBOL_NAME(sys_symlink)
506
        .long SYMBOL_NAME(sys_lstat)
507
        .long SYMBOL_NAME(sys_readlink)         /* 85 */
508
        .long SYMBOL_NAME(sys_uselib)
509
        .long SYMBOL_NAME(sys_swapon)
510
        .long SYMBOL_NAME(sys_reboot)
511
        .long SYMBOL_NAME(old_readdir)
512
        .long SYMBOL_NAME(old_mmap)             /* 90 */
513
        .long SYMBOL_NAME(sys_munmap)
514
        .long SYMBOL_NAME(sys_truncate)
515
        .long SYMBOL_NAME(sys_ftruncate)
516
        .long SYMBOL_NAME(sys_fchmod)
517
        .long SYMBOL_NAME(sys_fchown16)         /* 95 */
518
        .long SYMBOL_NAME(sys_getpriority)
519
        .long SYMBOL_NAME(sys_setpriority)
520
        .long SYMBOL_NAME(sys_ni_syscall)                               /* old profil syscall holder */
521
        .long SYMBOL_NAME(sys_statfs)
522
        .long SYMBOL_NAME(sys_fstatfs)          /* 100 */
523
        .long SYMBOL_NAME(sys_ioperm)
524
        .long SYMBOL_NAME(sys_socketcall)
525
        .long SYMBOL_NAME(sys_syslog)
526
        .long SYMBOL_NAME(sys_setitimer)
527
        .long SYMBOL_NAME(sys_getitimer)        /* 105 */
528
        .long SYMBOL_NAME(sys_newstat)
529
        .long SYMBOL_NAME(sys_newlstat)
530
        .long SYMBOL_NAME(sys_newfstat)
531
        .long SYMBOL_NAME(sys_ni_syscall)
532
        .long SYMBOL_NAME(sys_ni_syscall)       /* iopl for i386 */ /* 110 */
533
        .long SYMBOL_NAME(sys_vhangup)
534
        .long SYMBOL_NAME(sys_ni_syscall)       /* obsolete idle() syscall */
535
        .long SYMBOL_NAME(sys_ni_syscall)       /* vm86old for i386 */
536
        .long SYMBOL_NAME(sys_wait4)
537
        .long SYMBOL_NAME(sys_swapoff)          /* 115 */
538
        .long SYMBOL_NAME(sys_sysinfo)
539
        .long SYMBOL_NAME(sys_ipc)
540
        .long SYMBOL_NAME(sys_fsync)
541
        .long SYMBOL_NAME(sys_sigreturn)
542
        .long SYMBOL_NAME(sys_clone)            /* 120 */
543
        .long SYMBOL_NAME(sys_setdomainname)
544
        .long SYMBOL_NAME(sys_newuname)
545
        .long SYMBOL_NAME(sys_cacheflush)       /* modify_ldt for i386 */
546
        .long SYMBOL_NAME(sys_adjtimex)
547
        .long SYMBOL_NAME(sys_mprotect)         /* 125 */
548
        .long SYMBOL_NAME(sys_sigprocmask)
549
        .long SYMBOL_NAME(sys_create_module)
550
        .long SYMBOL_NAME(sys_init_module)
551
        .long SYMBOL_NAME(sys_delete_module)
552
        .long SYMBOL_NAME(sys_get_kernel_syms)  /* 130 */
553
        .long SYMBOL_NAME(sys_quotactl)
554
        .long SYMBOL_NAME(sys_getpgid)
555
        .long SYMBOL_NAME(sys_fchdir)
556
        .long SYMBOL_NAME(sys_bdflush)
557
        .long SYMBOL_NAME(sys_sysfs)            /* 135 */
558
        .long SYMBOL_NAME(sys_personality)
559
        .long SYMBOL_NAME(sys_ni_syscall)       /* for afs_syscall */
560
        .long SYMBOL_NAME(sys_setfsuid16)
561
        .long SYMBOL_NAME(sys_setfsgid16)
562
        .long SYMBOL_NAME(sys_llseek)           /* 140 */
563
        .long SYMBOL_NAME(sys_getdents)
564
        .long SYMBOL_NAME(sys_select)
565
        .long SYMBOL_NAME(sys_flock)
566
        .long SYMBOL_NAME(sys_msync)
567
        .long SYMBOL_NAME(sys_readv)            /* 145 */
568
        .long SYMBOL_NAME(sys_writev)
569
        .long SYMBOL_NAME(sys_getsid)
570
        .long SYMBOL_NAME(sys_fdatasync)
571
        .long SYMBOL_NAME(sys_sysctl)
572
        .long SYMBOL_NAME(sys_mlock)            /* 150 */
573
        .long SYMBOL_NAME(sys_munlock)
574
        .long SYMBOL_NAME(sys_mlockall)
575
        .long SYMBOL_NAME(sys_munlockall)
576
        .long SYMBOL_NAME(sys_sched_setparam)
577
        .long SYMBOL_NAME(sys_sched_getparam)   /* 155 */
578
        .long SYMBOL_NAME(sys_sched_setscheduler)
579
        .long SYMBOL_NAME(sys_sched_getscheduler)
580
        .long SYMBOL_NAME(sys_sched_yield)
581
        .long SYMBOL_NAME(sys_sched_get_priority_max)
582
        .long SYMBOL_NAME(sys_sched_get_priority_min)  /* 160 */
583
        .long SYMBOL_NAME(sys_sched_rr_get_interval)
584
        .long SYMBOL_NAME(sys_nanosleep)
585
        .long SYMBOL_NAME(sys_mremap)
586
        .long SYMBOL_NAME(sys_setresuid16)
587
        .long SYMBOL_NAME(sys_getresuid16)      /* 165 */
588
        .long SYMBOL_NAME(sys_getpagesize)
589
        .long SYMBOL_NAME(sys_query_module)
590
        .long SYMBOL_NAME(sys_poll)
591
        .long SYMBOL_NAME(sys_nfsservctl)
592
        .long SYMBOL_NAME(sys_setresgid16)      /* 170 */
593
        .long SYMBOL_NAME(sys_getresgid16)
594
        .long SYMBOL_NAME(sys_prctl)
595
        .long SYMBOL_NAME(sys_rt_sigreturn)
596
        .long SYMBOL_NAME(sys_rt_sigaction)
597
        .long SYMBOL_NAME(sys_rt_sigprocmask)   /* 175 */
598
        .long SYMBOL_NAME(sys_rt_sigpending)
599
        .long SYMBOL_NAME(sys_rt_sigtimedwait)
600
        .long SYMBOL_NAME(sys_rt_sigqueueinfo)
601
        .long SYMBOL_NAME(sys_rt_sigsuspend)
602
        .long SYMBOL_NAME(sys_pread)            /* 180 */
603
        .long SYMBOL_NAME(sys_pwrite)
604
        .long SYMBOL_NAME(sys_lchown16);
605
        .long SYMBOL_NAME(sys_getcwd)
606
        .long SYMBOL_NAME(sys_capget)
607
        .long SYMBOL_NAME(sys_capset)           /* 185 */
608
        .long SYMBOL_NAME(sys_sigaltstack)
609
        .long SYMBOL_NAME(sys_sendfile)
610
        .long SYMBOL_NAME(sys_ni_syscall)               /* streams1 */
611
        .long SYMBOL_NAME(sys_ni_syscall)               /* streams2 */
612
        .long SYMBOL_NAME(sys_vfork)            /* 190 */
613
        .long SYMBOL_NAME(sys_getrlimit)
614
        .long SYMBOL_NAME(sys_mmap2)
615
        .long SYMBOL_NAME(sys_truncate64)
616
        .long SYMBOL_NAME(sys_ftruncate64)
617
        .long SYMBOL_NAME(sys_stat64)           /* 195 */
618
        .long SYMBOL_NAME(sys_lstat64)
619
        .long SYMBOL_NAME(sys_fstat64)
620
        .long SYMBOL_NAME(sys_chown)
621
        .long SYMBOL_NAME(sys_getuid)
622
        .long SYMBOL_NAME(sys_getgid)           /* 200 */
623
        .long SYMBOL_NAME(sys_geteuid)
624
        .long SYMBOL_NAME(sys_getegid)
625
        .long SYMBOL_NAME(sys_setreuid)
626
        .long SYMBOL_NAME(sys_setregid)
627
        .long SYMBOL_NAME(sys_getgroups)        /* 205 */
628
        .long SYMBOL_NAME(sys_setgroups)
629
        .long SYMBOL_NAME(sys_fchown)
630
        .long SYMBOL_NAME(sys_setresuid)
631
        .long SYMBOL_NAME(sys_getresuid)
632
        .long SYMBOL_NAME(sys_setresgid)        /* 210 */
633
        .long SYMBOL_NAME(sys_getresgid)
634
        .long SYMBOL_NAME(sys_lchown)
635
        .long SYMBOL_NAME(sys_setuid)
636
        .long SYMBOL_NAME(sys_setgid)
637
        .long SYMBOL_NAME(sys_setfsuid)         /* 215 */
638
        .long SYMBOL_NAME(sys_setfsgid)
639
        .long SYMBOL_NAME(sys_pivot_root)
640
        .long SYMBOL_NAME(sys_ni_syscall)
641
        .long SYMBOL_NAME(sys_ni_syscall)
642
        .long SYMBOL_NAME(sys_getdents64)       /* 220 */
643
        .long SYMBOL_NAME(sys_gettid)
644
        .long SYMBOL_NAME(sys_tkill)
645
        .long SYMBOL_NAME(sys_setxattr)
646
        .long SYMBOL_NAME(sys_lsetxattr)
647
        .long SYMBOL_NAME(sys_fsetxattr)        /* 225 */
648
        .long SYMBOL_NAME(sys_getxattr)
649
        .long SYMBOL_NAME(sys_lgetxattr)
650
        .long SYMBOL_NAME(sys_fgetxattr)
651
        .long SYMBOL_NAME(sys_listxattr)
652
        .long SYMBOL_NAME(sys_llistxattr)       /* 230 */
653
        .long SYMBOL_NAME(sys_flistxattr)
654
        .long SYMBOL_NAME(sys_removexattr)
655
        .long SYMBOL_NAME(sys_lremovexattr)
656
        .long SYMBOL_NAME(sys_fremovexattr)
657
 
658
        .rept NR_syscalls-(.-SYMBOL_NAME(sys_call_table))/4
659
                .long SYMBOL_NAME(sys_ni_syscall)
660
        .endr

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.