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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [rc203soc/] [sw/] [uClinux/] [arch/] [m68k/] [kernel/] [entry.S] - Blame information for rev 1777

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1623 jcastillo
/* -*- 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
 * 680x0 support by Hamish Macdonald
12
 *
13
 */
14
 
15
/*
16
 * entry.S  contains the system-call and fault low-level handling routines.
17
 * This also contains the timer-interrupt handler, as well as all interrupts
18
 * and faults that can result in a task-switch.
19
 *
20
 * NOTE: This code handles signal-recognition, which happens every time
21
 * after a timer-interrupt and after each system call.
22
 *
23
 * Stack layout in 'ret_from_exception':
24
 *
25
 *      This allows access to the syscall arguments in registers d1-d5
26
 *
27
 *       0(sp) - d1
28
 *       4(sp) - d2
29
 *       8(sp) - d3
30
 *       C(sp) - d4
31
 *      10(sp) - d5
32
 *      14(sp) - a0
33
 *      18(sp) - a1
34
 *      1C(sp) - d0
35
 *      20(sp) - orig_d0
36
 *      24(sp) - stack adjustment
37
 *      28(sp) - sr
38
 *      2A(sp) - pc
39
 *      2E(sp) - format & vector
40
 */
41
 
42
/*
43
 * 12/03/96 Jes: Currently we only support m68k single-cpu systems, so
44
 *               all pointers that used to be 'current' are now entry
45
 *               number 0 in the 'current_set' list.
46
 */
47
 
48
#include 
49
 
50
#include 
51
 
52
LCF_MASK        = 0x0001
53
 
54
LENOSYS = 38
55
 
56
/*
57
 * these are offsets into the task-struct
58
 */
59
LTASK_STATE     =  0
60
LTASK_COUNTER   =  4
61
LTASK_PRIORITY  =  8
62
LTASK_SIGNAL    = 12
63
LTASK_BLOCKED   = 16
64
LTASK_FLAGS     = 20
65
LTASK_ERRNO     = 24
66
 
67
#include 
68
#include 
69
 
70
/* the following macro is used when enabling interrupts */
71
#if defined(CONFIG_ATARI) && !defined(CONFIG_AMIGA) && !defined(CONFIG_MAC)
72
        /* block out HSYNC on the atari */
73
#define ALLOWINT 0xfbff
74
#else
75
        /* portable version */
76
#define ALLOWINT 0xf8ff
77
#endif /* machine compilation types */
78
 
79
LD0             = 0x1C
80
LORIG_D0        = 0x20
81
LSR             = 0x28
82
LFORMATVEC      = 0x2E
83
 
84
/*
85
 * This defines the normal kernel pt-regs layout.
86
 *
87
 * regs are a2-a6 and d6-d7 preserved by C code
88
 * the kernel doesn't mess with usp unless it needs to
89
 */
90
#define SAVE_ALL                        \
91
        clrl    %sp@-;    /* stk_adj */ \
92
        movel   %d0,%sp@-; /* orig d0 */        \
93
        movel   %d0,%sp@-; /* d0 */     \
94
        moveml  %d1-%d5/%a0-%a1,%sp@-
95
 
96
#define RESTORE_ALL                     \
97
        moveml  %sp@+,%a0-%a1/%d1-%d5;  \
98
        movel   %sp@+,%d0;              \
99
        addql   #4,%sp;  /* orig d0 */  \
100
        addl    %sp@+,%sp; /* stk adj */        \
101
        rte
102
 
103
#define SWITCH_STACK_SIZE (7*4+4)       /* includes return address */
104
 
105
#define SAVE_SWITCH_STACK \
106
        moveml  %a2-%a6/%d6-%d7,%sp@-
107
 
108
#define RESTORE_SWITCH_STACK \
109
        moveml  %sp@+,%a2-%a6/%d6-%d7
110
 
111
.globl SYMBOL_NAME(system_call), SYMBOL_NAME(buserr), SYMBOL_NAME(trap)
112
.globl SYMBOL_NAME(resume), SYMBOL_NAME(ret_from_exception)
113
.globl SYMBOL_NAME(ret_from_signal)
114
.globl SYMBOL_NAME(inthandler), SYMBOL_NAME(sys_call_table)
115
.globl SYMBOL_NAME(sys_fork), SYMBOL_NAME(sys_clone)
116
.globl SYMBOL_NAME(ret_from_interrupt), SYMBOL_NAME(bad_interrupt)
117
 
118
.text
119
ENTRY(buserr)
120
        SAVE_ALL
121
        moveq   #-1,%d0
122
        movel   %d0,%sp@(LORIG_D0)      | a -1 in the ORIG_D0 field
123
                                        | signifies that the stack frame
124
                                        | is NOT for syscall
125
 
126
        movel   %sp,%sp@-               | stack frame pointer argument
127
        bsrl    SYMBOL_NAME(buserr_c)
128
        addql   #4,%sp
129
        jra     SYMBOL_NAME(ret_from_exception)
130
 
131
ENTRY(trap)
132
        SAVE_ALL
133
        moveq   #-1,%d0
134
        movel   %d0,%sp@(LORIG_D0)      | a -1 in the ORIG_D0 field
135
                                        | signifies that the stack frame
136
                                        | is NOT for syscall
137
        movel   %sp,%sp@-               | stack frame pointer argument
138
        bsrl    SYMBOL_NAME(trap_c)
139
        addql   #4,%sp
140
        jra     SYMBOL_NAME(ret_from_exception)
141
 
142
ENTRY(reschedule)
143
        | save top of frame
144
        pea     %sp@
145
        jbsr    SYMBOL_NAME(set_esp0)
146
        addql   #4,%sp
147
 
148
        pea     SYMBOL_NAME(ret_from_exception)
149
        jmp     SYMBOL_NAME(schedule)
150
 
151
ENTRY(system_call)
152
        SAVE_ALL
153
        movel   #-LENOSYS,LD0(%sp)      | default return value in d0
154
                                        | original D0 is in orig_d0
155
        movel   %d0,%d2
156
 
157
        | save top of frame
158
        pea     %sp@
159
        jbsr    SYMBOL_NAME(set_esp0)
160
        addql   #4,%sp
161
 
162
        cmpl    #NR_syscalls,%d2
163
        jcc     SYMBOL_NAME(ret_from_exception)
164
        lea     SYMBOL_NAME(sys_call_table),%a0
165
        movel   %a0@(%d2:l:4),%d3
166
        jeq     SYMBOL_NAME(ret_from_exception)
167
        andw    #~LCF_MASK,%sp@(LSR)    | assume syscall success
168
        movel   SYMBOL_NAME(current_set),%a0
169
        clrl    %a0@(LTASK_ERRNO)
170
        btst    #5,%a0@(LTASK_FLAGS+3)  | PF_TRACESYS
171
        bnes    1f
172
        movel   %d3,%a0
173
        jbsr    %a0@
174
        movel   %d0,%sp@(LD0)           | save the return value
175
        jpl     2f
176
        orw     #LCF_MASK,%sp@(LSR)     | set carry to indicate error
177
2:
178
        movel   SYMBOL_NAME(current_set),%a0
179
        movel   %a0@(LTASK_ERRNO),%d1
180
        negl    %d1
181
        jeq     SYMBOL_NAME(ret_from_exception)
182
        movel   %d1,%sp@(LD0)
183
        orw     #LCF_MASK,%sp@(LSR)     | set carry to indicate error
184
        jra     SYMBOL_NAME(ret_from_exception)
185
1:
186
        subql   #4,%sp
187
        SAVE_SWITCH_STACK
188
        jbsr    SYMBOL_NAME(syscall_trace)
189
        RESTORE_SWITCH_STACK
190
        addql   #4,%sp
191
        movel   %d3,%a0
192
        jbsr    %a0@
193
        movel   %d0,%sp@(LD0)           | save the return value
194
        jpl     2f
195
        orw     #LCF_MASK,%sp@(LSR)     | set carry to indicate error
196
2:
197
        movel   SYMBOL_NAME(current_set),%a0
198
        movel   %a0@(LTASK_ERRNO),%d1
199
        negl    %d1
200
        jeq     2f
201
        movel   %d1,%sp@(LD0)
202
        orw     #LCF_MASK,%sp@(LSR)     | set carry to indicate error
203
2:      subql   #4,%sp                  | dummy return address
204
        SAVE_SWITCH_STACK
205
        jbsr    SYMBOL_NAME(syscall_trace)
206
 
207
SYMBOL_NAME_LABEL(ret_from_signal)
208
        RESTORE_SWITCH_STACK
209
        addql   #4,%sp
210
 
211
SYMBOL_NAME_LABEL(ret_from_exception)
212
        btst    #5,%sp@(LSR)            | check if returning to kernel
213
        bnes    2f                      | if so, skip resched, signals
214
        tstl    SYMBOL_NAME(need_resched)
215
        jne     SYMBOL_NAME(reschedule)
216
        movel   SYMBOL_NAME(current_set),%a0
217
        cmpl    #SYMBOL_NAME(task),%a0  | task[0] cannot have signals
218
        jeq     2f
219
        bclr    #5,%a0@(LTASK_FLAGS+1)  | check for delayed trace
220
        jeq     1f
221
        bclr    #7,%sp@(LSR)            | clear trace bit in SR
222
        pea     1                       | send SIGTRAP
223
        movel   %a0,%sp@-
224
        pea     5
225
        jbsr    SYMBOL_NAME(send_sig)
226
        addql   #8,%sp
227
        addql   #4,%sp
228
 
229
1:
230
        moveq   #0,%d0
231
        movel   SYMBOL_NAME(current_set),%a0
232
        cmpl    %a0@(LTASK_STATE),%d0     | state
233
        jne     SYMBOL_NAME(reschedule)
234
        cmpl    %a0@(LTASK_COUNTER),%d0   | counter
235
        jeq     SYMBOL_NAME(reschedule)
236
 
237
        movel   %a0@(LTASK_BLOCKED),%d0
238
        movel   %d0,%d1                 | save blocked in d1 for sig handling
239
        notl    %d0
240
        andl    %a0@(LTASK_SIGNAL),%d0
241
        jne     Lsignal_return
242
2:      RESTORE_ALL
243
 
244
Lsignal_return:
245
        subql   #4,%sp                  | dummy return address
246
        SAVE_SWITCH_STACK
247
        pea     %sp@(SWITCH_STACK_SIZE)
248
        movel   %d1,%sp@-
249
        bsrl    SYMBOL_NAME(do_signal)
250
        addql   #8,%sp
251
        RESTORE_SWITCH_STACK
252
        addql   #4,%sp
253
        RESTORE_ALL
254
 
255
/*
256
** This is the main interrupt handler, responsible for calling process_int()
257
*/
258
SYMBOL_NAME_LABEL(inthandler)
259
        SAVE_ALL
260
        moveq   #-1,%d0
261
        movel   %d0,%sp@(LORIG_D0)      | a -1 in the ORIG_D0 field
262
                                        | signifies that the stack frame
263
                                        | is NOT for syscall
264
 
265
        addql   #1,SYMBOL_NAME(intr_count)
266
 
267
        movew   %sp@(LFORMATVEC),%d0      |  put exception # in d0
268
        andil   #0xfff,%d0              |  mask out format nybble
269
 
270
        movel   %sp,%sp@-
271
        movel   %d0,%sp@-               |  put vector # on stack
272
        jbsr    SYMBOL_NAME(process_int)|  process the IRQ
273
        addql   #8,%sp                  |  pop parameters off stack
274
 
275
SYMBOL_NAME_LABEL(ret_from_interrupt)
276
        /* check if we need to do software interrupts */
277
1:
278
        movel   SYMBOL_NAME(intr_count),%d2
279
        subql   #1,%d2
280
        jne     2f
281
 
282
        movel   SYMBOL_NAME(bh_active),%d0
283
        andl    SYMBOL_NAME(bh_mask),%d0
284
        jne     3f
285
 
286
        movel   %d2,SYMBOL_NAME(intr_count)
287
 
288
        jra     SYMBOL_NAME(ret_from_exception)
289
                                        | deliver signals, reschedule etc..
290
 
291
2:      movel   %d2,SYMBOL_NAME(intr_count)
292
        RESTORE_ALL
293
3:
294
        movew   %sr,%sp@-
295
        andiw   #(ALLOWINT),%sr         | allow interrupts
296
        jbsr    SYMBOL_NAME(do_bottom_half)
297
        movew   %sp@+,%sr
298
        jra     1b
299
 
300
 
301
/* Handler for uninitialized and spurious interrupts */
302
 
303
SYMBOL_NAME_LABEL(bad_interrupt)
304
        addql   #1,SYMBOL_NAME(num_spurious)
305
        rte
306
 
307
ENTRY(sys_fork)
308
        SAVE_SWITCH_STACK
309
        pea     %sp@(SWITCH_STACK_SIZE)
310
        jbsr    SYMBOL_NAME(m68k_fork)
311
        addql   #4,%sp
312
        RESTORE_SWITCH_STACK
313
        rts
314
 
315
ENTRY(sys_clone)
316
        SAVE_SWITCH_STACK
317
        pea     %sp@(SWITCH_STACK_SIZE)
318
        jbsr    SYMBOL_NAME(m68k_clone)
319
        addql   #4,%sp
320
        RESTORE_SWITCH_STACK
321
        rts
322
 
323
ENTRY(sys_sigsuspend)
324
        SAVE_SWITCH_STACK
325
        pea     %sp@(SWITCH_STACK_SIZE)
326
        jbsr    SYMBOL_NAME(do_sigsuspend)
327
        addql   #4,%sp
328
        RESTORE_SWITCH_STACK
329
        rts
330
 
331
ENTRY(sys_sigreturn)
332
        SAVE_SWITCH_STACK
333
        jbsr    SYMBOL_NAME(do_sigreturn)
334
        RESTORE_SWITCH_STACK
335
        rts
336
 
337
LFLUSH_I_AND_D = 0x00000808
338
LBI_CPU = 4
339
LTSS_KSP        = 0
340
LTSS_USP        = 4
341
LTSS_SR         = 8
342
LTSS_FS         = 10
343
LTSS_CRP        = 20
344
LTSS_FPCTXT     = 32
345
 
346
SYMBOL_NAME_LABEL(resume)
347
        /*
348
         * Beware - when entering resume, offset of tss is in a1 and
349
         * next (the new task) is in d1, so don't chance these
350
         * registers before their contents have been used.
351
         */
352
 
353
        /* current tasks task_struct */
354
        movel   SYMBOL_NAME(current_set),%a0
355
 
356
        /* offset of tss struct (processor state) from beginning
357
           of task struct */
358
        addl    %a1,%a0
359
 
360
        /* save sr */
361
        movew   %sr,%a0@(LTSS_SR)
362
 
363
        /* disable interrupts */
364
        oriw    #0x0700,%sr
365
 
366
        /* save fs (sfc,%dfc) (may be pointing to kernel memory) */
367
        movec   %sfc,%d0
368
        movew   %d0,%a0@(LTSS_FS)
369
 
370
        /* save usp */
371
        /* it is better to use a movel here instead of a movew 8*) */
372
        movec   %usp,%d0
373
        movel   %d0,%a0@(LTSS_USP)
374
 
375
        /* load new task (before adjusting stack) */
376
        /* The task has already been put in d1 by switch_to (Jes) */
377
/*
378
        movel   %sp@(4),%d1
379
*/
380
        /* save non-scratch registers on stack */
381
        SAVE_SWITCH_STACK
382
 
383
        /* save current kernel stack pointer */
384
        movel   %sp,%a0@(LTSS_KSP)
385
 
386
        /* save floating point context */
387
        fsave   %a0@(LTSS_FPCTXT+27*4)
388
        tstb    %a0@(LTSS_FPCTXT+27*4)
389
        jeq     1f
390
        fmovemx %fp0-%fp7,%a0@(LTSS_FPCTXT)
391
        fmoveml %fpcr/%fpsr/%fpiar,%a0@(LTSS_FPCTXT+24*4)
392
1:
393
 
394
        /* get pointer to tss struct (d1 contains new task) */
395
        movel   %d1,SYMBOL_NAME(current_set)
396
        movel   %d1,%a0
397
        addl    %a1,%a0
398
 
399
        /* 68040 or 68060 ? */
400
        btst    #2,SYMBOL_NAME(boot_info)+LBI_CPU+3
401
        bnes    1f
402
        btst    #3,SYMBOL_NAME(boot_info)+LBI_CPU+3
403
        bnes    1f
404
 
405
        /*
406
         * switch address space
407
         */
408
 
409
        /* flush MC68030/MC68020 caches (they are virtually addressed) */
410
        movec   %cacr,%d0
411
        oril    #LFLUSH_I_AND_D,%d0
412
        movec   %d0,%cacr
413
 
414
        /* switch the root pointer */
415
        pmove   %a0@(LTSS_CRP),%crp
416
 
417
        /* flush address translation cache (probably not needed */
418
        pflusha
419
 
420
        jra     2f      /* skip m68040 stuff */
421
 
422
1:
423
        /*
424
         * switch address space
425
         */
426
 
427
        /* flush address translation cache (user entries) */
428
        .word   0xf510                  /* pflushan */
429
 
430
        /* switch the root pointer */
431
        movel   %a0@(LTSS_CRP+4),%d0
432
        .long   0x4e7b0806              /* movec d0,urp */
433
 
434
        /* is it a '060 ? */
435
        btst    #3,SYMBOL_NAME(boot_info)+LBI_CPU+3
436
        beqs    2f
437
        /* clear user entries in the branch cache */
438
        movec   %cacr,%d0
439
        orl     #0x00200000,%d0
440
        movec   %d0,%cacr
441
 
442
2:
443
        /* restore floating point context */
444
        tstb    %a0@(LTSS_FPCTXT+27*4)
445
        jeq     1f
446
        fmovemx %a0@(LTSS_FPCTXT),%fp0-%fp7
447
        fmoveml %a0@(LTSS_FPCTXT+24*4),%fpcr/%fpsr/%fpiar
448
1:      frestore %a0@(LTSS_FPCTXT+27*4)
449
 
450
        /* restore the kernel stack pointer */
451
        movel   %a0@(LTSS_KSP),%sp
452
 
453
        /* restore non-scratch registers */
454
        RESTORE_SWITCH_STACK
455
 
456
        /* restore user stack pointer */
457
        movel   %a0@(LTSS_USP),%d0
458
        movec   %d0,%usp
459
 
460
        /* restore fs (sfc,%dfc) */
461
        movew   %a0@(LTSS_FS),%a1
462
        movec   %a1,%sfc
463
        movec   %a1,%dfc
464
 
465
        /* restore status register */
466
        movew   %a0@(LTSS_SR),%sr
467
 
468
        rts
469
 
470
.data
471
ALIGN
472
SYMBOL_NAME_LABEL(sys_call_table)
473
        .long SYMBOL_NAME(sys_setup)            /* 0 */
474
        .long SYMBOL_NAME(sys_exit)
475
        .long SYMBOL_NAME(sys_fork)
476
        .long SYMBOL_NAME(sys_read)
477
        .long SYMBOL_NAME(sys_write)
478
        .long SYMBOL_NAME(sys_open)             /* 5 */
479
        .long SYMBOL_NAME(sys_close)
480
        .long SYMBOL_NAME(sys_waitpid)
481
        .long SYMBOL_NAME(sys_creat)
482
        .long SYMBOL_NAME(sys_link)
483
        .long SYMBOL_NAME(sys_unlink)           /* 10 */
484
        .long SYMBOL_NAME(sys_execve)
485
        .long SYMBOL_NAME(sys_chdir)
486
        .long SYMBOL_NAME(sys_time)
487
        .long SYMBOL_NAME(sys_mknod)
488
        .long SYMBOL_NAME(sys_chmod)            /* 15 */
489
        .long SYMBOL_NAME(sys_chown)
490
        .long SYMBOL_NAME(sys_break)
491
        .long SYMBOL_NAME(sys_stat)
492
        .long SYMBOL_NAME(sys_lseek)
493
        .long SYMBOL_NAME(sys_getpid)           /* 20 */
494
        .long SYMBOL_NAME(sys_mount)
495
        .long SYMBOL_NAME(sys_umount)
496
        .long SYMBOL_NAME(sys_setuid)
497
        .long SYMBOL_NAME(sys_getuid)
498
        .long SYMBOL_NAME(sys_stime)            /* 25 */
499
        .long SYMBOL_NAME(sys_ptrace)
500
        .long SYMBOL_NAME(sys_alarm)
501
        .long SYMBOL_NAME(sys_fstat)
502
        .long SYMBOL_NAME(sys_pause)
503
        .long SYMBOL_NAME(sys_utime)            /* 30 */
504
        .long SYMBOL_NAME(sys_stty)
505
        .long SYMBOL_NAME(sys_gtty)
506
        .long SYMBOL_NAME(sys_access)
507
        .long SYMBOL_NAME(sys_nice)
508
        .long SYMBOL_NAME(sys_ftime)            /* 35 */
509
        .long SYMBOL_NAME(sys_sync)
510
        .long SYMBOL_NAME(sys_kill)
511
        .long SYMBOL_NAME(sys_rename)
512
        .long SYMBOL_NAME(sys_mkdir)
513
        .long SYMBOL_NAME(sys_rmdir)            /* 40 */
514
        .long SYMBOL_NAME(sys_dup)
515
        .long SYMBOL_NAME(sys_pipe)
516
        .long SYMBOL_NAME(sys_times)
517
        .long SYMBOL_NAME(sys_prof)
518
        .long SYMBOL_NAME(sys_brk)              /* 45 */
519
        .long SYMBOL_NAME(sys_setgid)
520
        .long SYMBOL_NAME(sys_getgid)
521
        .long SYMBOL_NAME(sys_signal)
522
        .long SYMBOL_NAME(sys_geteuid)
523
        .long SYMBOL_NAME(sys_getegid)          /* 50 */
524
        .long SYMBOL_NAME(sys_acct)
525
        .long SYMBOL_NAME(sys_phys)
526
        .long SYMBOL_NAME(sys_lock)
527
        .long SYMBOL_NAME(sys_ioctl)
528
        .long SYMBOL_NAME(sys_fcntl)            /* 55 */
529
        .long SYMBOL_NAME(sys_mpx)
530
        .long SYMBOL_NAME(sys_setpgid)
531
        .long SYMBOL_NAME(sys_ulimit)
532
        .long SYMBOL_NAME(sys_olduname)
533
        .long SYMBOL_NAME(sys_umask)            /* 60 */
534
        .long SYMBOL_NAME(sys_chroot)
535
        .long SYMBOL_NAME(sys_ustat)
536
        .long SYMBOL_NAME(sys_dup2)
537
        .long SYMBOL_NAME(sys_getppid)
538
        .long SYMBOL_NAME(sys_getpgrp)          /* 65 */
539
        .long SYMBOL_NAME(sys_setsid)
540
        .long SYMBOL_NAME(sys_sigaction)
541
        .long SYMBOL_NAME(sys_sgetmask)
542
        .long SYMBOL_NAME(sys_ssetmask)
543
        .long SYMBOL_NAME(sys_setreuid)         /* 70 */
544
        .long SYMBOL_NAME(sys_setregid)
545
        .long SYMBOL_NAME(sys_sigsuspend)
546
        .long SYMBOL_NAME(sys_sigpending)
547
        .long SYMBOL_NAME(sys_sethostname)
548
        .long SYMBOL_NAME(sys_setrlimit)        /* 75 */
549
        .long SYMBOL_NAME(sys_getrlimit)
550
        .long SYMBOL_NAME(sys_getrusage)
551
        .long SYMBOL_NAME(sys_gettimeofday)
552
        .long SYMBOL_NAME(sys_settimeofday)
553
        .long SYMBOL_NAME(sys_getgroups)        /* 80 */
554
        .long SYMBOL_NAME(sys_setgroups)
555
        .long SYMBOL_NAME(old_select)
556
        .long SYMBOL_NAME(sys_symlink)
557
        .long SYMBOL_NAME(sys_lstat)
558
        .long SYMBOL_NAME(sys_readlink)         /* 85 */
559
        .long SYMBOL_NAME(sys_uselib)
560
        .long SYMBOL_NAME(sys_swapon)
561
        .long SYMBOL_NAME(sys_reboot)
562
        .long SYMBOL_NAME(old_readdir)
563
        .long SYMBOL_NAME(old_mmap)             /* 90 */
564
        .long SYMBOL_NAME(sys_munmap)
565
        .long SYMBOL_NAME(sys_truncate)
566
        .long SYMBOL_NAME(sys_ftruncate)
567
        .long SYMBOL_NAME(sys_fchmod)
568
        .long SYMBOL_NAME(sys_fchown)           /* 95 */
569
        .long SYMBOL_NAME(sys_getpriority)
570
        .long SYMBOL_NAME(sys_setpriority)
571
        .long SYMBOL_NAME(sys_profil)
572
        .long SYMBOL_NAME(sys_statfs)
573
        .long SYMBOL_NAME(sys_fstatfs)          /* 100 */
574
        .long SYMBOL_NAME(sys_ioperm)
575
        .long SYMBOL_NAME(sys_socketcall)
576
        .long SYMBOL_NAME(sys_syslog)
577
        .long SYMBOL_NAME(sys_setitimer)
578
        .long SYMBOL_NAME(sys_getitimer)        /* 105 */
579
        .long SYMBOL_NAME(sys_newstat)
580
        .long SYMBOL_NAME(sys_newlstat)
581
        .long SYMBOL_NAME(sys_newfstat)
582
        .long SYMBOL_NAME(sys_uname)
583
        .long SYMBOL_NAME(sys_ni_syscall)       /* iopl for i386 */ /* 110 */
584
        .long SYMBOL_NAME(sys_vhangup)
585
        .long SYMBOL_NAME(sys_idle)
586
        .long SYMBOL_NAME(sys_ni_syscall)       /* vm86 for i386 */
587
        .long SYMBOL_NAME(sys_wait4)
588
        .long SYMBOL_NAME(sys_swapoff)          /* 115 */
589
        .long SYMBOL_NAME(sys_sysinfo)
590
        .long SYMBOL_NAME(sys_ipc)
591
        .long SYMBOL_NAME(sys_fsync)
592
        .long SYMBOL_NAME(sys_sigreturn)
593
        .long SYMBOL_NAME(sys_clone)            /* 120 */
594
        .long SYMBOL_NAME(sys_setdomainname)
595
        .long SYMBOL_NAME(sys_newuname)
596
        .long SYMBOL_NAME(sys_cacheflush)       /* modify_ldt for i386 */
597
        .long SYMBOL_NAME(sys_adjtimex)
598
        .long SYMBOL_NAME(sys_mprotect)         /* 125 */
599
        .long SYMBOL_NAME(sys_sigprocmask)
600
        .long SYMBOL_NAME(sys_create_module)
601
        .long SYMBOL_NAME(sys_init_module)
602
        .long SYMBOL_NAME(sys_delete_module)
603
        .long SYMBOL_NAME(sys_get_kernel_syms)  /* 130 */
604
        .long SYMBOL_NAME(sys_quotactl)
605
        .long SYMBOL_NAME(sys_getpgid)
606
        .long SYMBOL_NAME(sys_fchdir)
607
        .long SYMBOL_NAME(sys_bdflush)
608
        .long SYMBOL_NAME(sys_sysfs)            /* 135 */
609
        .long SYMBOL_NAME(sys_personality)
610
        .long SYMBOL_NAME(sys_ni_syscall)       /* for afs_syscall */
611
        .long SYMBOL_NAME(sys_setfsuid)
612
        .long SYMBOL_NAME(sys_setfsgid)
613
        .long SYMBOL_NAME(sys_llseek)           /* 140 */
614
        .long SYMBOL_NAME(sys_getdents)
615
        .long SYMBOL_NAME(sys_select)
616
        .long SYMBOL_NAME(sys_flock)
617
        .long SYMBOL_NAME(sys_msync)
618
        .long SYMBOL_NAME(sys_readv)            /* 145 */
619
        .long SYMBOL_NAME(sys_writev)
620
        .long SYMBOL_NAME(sys_getsid)
621
        .long SYMBOL_NAME(sys_fdatasync)
622
        .long SYMBOL_NAME(sys_sysctl)
623
        .long SYMBOL_NAME(sys_mlock)            /* 150 */
624
        .long SYMBOL_NAME(sys_munlock)
625
        .long SYMBOL_NAME(sys_mlockall)
626
        .long SYMBOL_NAME(sys_munlockall)
627
        .long SYMBOL_NAME(sys_sched_setparam)
628
        .long SYMBOL_NAME(sys_sched_getparam)   /* 155 */
629
        .long SYMBOL_NAME(sys_sched_setscheduler)
630
        .long SYMBOL_NAME(sys_sched_getscheduler)
631
        .long SYMBOL_NAME(sys_sched_yield)
632
        .long SYMBOL_NAME(sys_sched_get_priority_max)
633
        .long SYMBOL_NAME(sys_sched_get_priority_min)  /* 160 */
634
        .long SYMBOL_NAME(sys_sched_rr_get_interval)
635
        .long SYMBOL_NAME(sys_nanosleep)
636
        .long SYMBOL_NAME(sys_mremap)
637
        .space (NR_syscalls-163)*4

powered by: WebSVN 2.1.0

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