root/arch/m68k/kernel/entry.S

/* [previous][next][first][last][top][bottom][index][help] */
   1 /* -*- 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 <linux/sys.h>
  49 
  50 #include <asm/segment.h>
  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 <linux/config.h>
  68 #include <linux/linkage.h>
  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         .word   0xf4f8
 238         movel   %a0@(LTASK_BLOCKED),%d0
 239         movel   %d0,%d1                 | save blocked in d1 for sig handling
 240         notl    %d0
 241         andl    %a0@(LTASK_SIGNAL),%d0
 242         jne     Lsignal_return
 243 2:      RESTORE_ALL
 244 
 245 Lsignal_return:
 246         subql   #4,%sp                  | dummy return address
 247         SAVE_SWITCH_STACK
 248         pea     %sp@(SWITCH_STACK_SIZE)
 249         movel   %d1,%sp@-
 250         bsrl    SYMBOL_NAME(do_signal)
 251         addql   #8,%sp
 252         RESTORE_SWITCH_STACK
 253         addql   #4,%sp
 254         RESTORE_ALL
 255 
 256 /*
 257 ** This is the main interrupt handler, responsible for calling process_int()
 258 */
 259 SYMBOL_NAME_LABEL(inthandler)
 260         SAVE_ALL
 261         moveq   #-1,%d0
 262         movel   %d0,%sp@(LORIG_D0)      | a -1 in the ORIG_D0 field
 263                                         | signifies that the stack frame
 264                                         | is NOT for syscall
 265         
 266         addql   #1,SYMBOL_NAME(intr_count)
 267 
 268         movew   %sp@(LFORMATVEC),%d0      |  put exception # in d0
 269         andil   #0xfff,%d0              |  mask out format nybble
 270 
 271         movel   %sp,%sp@-               
 272         movel   %d0,%sp@-               |  put vector # on stack
 273         jbsr    SYMBOL_NAME(process_int)|  process the IRQ
 274         addql   #8,%sp                  |  pop parameters off stack
 275 
 276 SYMBOL_NAME_LABEL(ret_from_interrupt)
 277         /* check if we need to do software interrupts */
 278 1:
 279         movel   SYMBOL_NAME(intr_count),%d2
 280         subql   #1,%d2
 281         jne     2f
 282 
 283         movel   SYMBOL_NAME(bh_active),%d0
 284         andl    SYMBOL_NAME(bh_mask),%d0
 285         jne     3f
 286 
 287         movel   %d2,SYMBOL_NAME(intr_count)
 288 
 289         jra     SYMBOL_NAME(ret_from_exception)
 290                                         | deliver signals, reschedule etc..
 291 
 292 2:      movel   %d2,SYMBOL_NAME(intr_count)
 293         RESTORE_ALL
 294 3:
 295         movew   %sr,%sp@-
 296         andiw   #(ALLOWINT),%sr         | allow interrupts
 297         jbsr    SYMBOL_NAME(do_bottom_half)
 298         movew   %sp@+,%sr
 299         jra     1b
 300 
 301 
 302 /* Handler for uninitialized and spurious interrupts */
 303 
 304 SYMBOL_NAME_LABEL(bad_interrupt)
 305         addql   #1,SYMBOL_NAME(num_spurious)
 306         rte
 307 
 308 ENTRY(sys_fork)
 309         SAVE_SWITCH_STACK       
 310         pea     %sp@(SWITCH_STACK_SIZE)
 311         jbsr    SYMBOL_NAME(m68k_fork)
 312         addql   #4,%sp
 313         RESTORE_SWITCH_STACK
 314         rts
 315 
 316 ENTRY(sys_clone)
 317         SAVE_SWITCH_STACK
 318         pea     %sp@(SWITCH_STACK_SIZE)
 319         jbsr    SYMBOL_NAME(m68k_clone)
 320         addql   #4,%sp
 321         RESTORE_SWITCH_STACK
 322         rts
 323 
 324 ENTRY(sys_sigsuspend)
 325         SAVE_SWITCH_STACK
 326         pea     %sp@(SWITCH_STACK_SIZE)
 327         jbsr    SYMBOL_NAME(do_sigsuspend)
 328         addql   #4,%sp
 329         RESTORE_SWITCH_STACK
 330         rts
 331 
 332 ENTRY(sys_sigreturn)
 333         SAVE_SWITCH_STACK
 334         jbsr    SYMBOL_NAME(do_sigreturn)
 335         RESTORE_SWITCH_STACK
 336         rts
 337 
 338 LFLUSH_I_AND_D = 0x00000808
 339 LBI_CPU = 4
 340 LTSS_KSP        = 0
 341 LTSS_USP        = 4
 342 LTSS_SR         = 8
 343 LTSS_FS         = 10
 344 LTSS_CRP        = 20
 345 LTSS_FPCTXT     = 32
 346 
 347 SYMBOL_NAME_LABEL(resume)
 348         /*
 349          * Beware - when entering resume, offset of tss is in a1 and
 350          * next (the new task) is in d1, so don't chance these
 351          * registers before their contents have been used.
 352          */
 353         
 354         /* current tasks task_struct */
 355         movel   SYMBOL_NAME(current_set),%a0
 356 
 357         /* offset of tss struct (processor state) from beginning
 358            of task struct */
 359 /*
 360         movel   %sp@(8),%a1
 361 */
 362         addl    %a1,%a0
 363 
 364         /* save sr */
 365         movew   %sr,%a0@(LTSS_SR)
 366 
 367         /* disable interrupts */
 368         oriw    #0x0700,%sr
 369 
 370         /* save fs (sfc,%dfc) (may be pointing to kernel memory) */
 371         movec   %sfc,%d0
 372         movew   %d0,%a0@(LTSS_FS)
 373 
 374         /* save usp */
 375         /* it is better to use a movel here instead of a movew 8*) */
 376         movec   %usp,%d0
 377         movel   %d0,%a0@(LTSS_USP)
 378 
 379         /* load new task (before adjusting stack) */
 380         /* The task has already been put in d1 by switch_to (Jes) */
 381 /*
 382         movel   %sp@(4),%d1
 383 */
 384         /* save non-scratch registers on stack */
 385         SAVE_SWITCH_STACK
 386 
 387         /* save current kernel stack pointer */
 388         movel   %sp,%a0@(LTSS_KSP)
 389 
 390         /* save floating point context */
 391         fsave   %a0@(LTSS_FPCTXT+27*4)
 392         tstb    %a0@(LTSS_FPCTXT+27*4)
 393         jeq     1f
 394         fmovemx %fp0-%fp7,%a0@(LTSS_FPCTXT)
 395         fmoveml %fpcr/%fpsr/%fpiar,%a0@(LTSS_FPCTXT+24*4)
 396 1:
 397 
 398         /* get pointer to tss struct (d1 contains new task) */
 399         movel   %d1,SYMBOL_NAME(current_set)
 400         movel   %d1,%a0
 401         addl    %a1,%a0
 402 
 403         /* 68040 or 68060 ? */
 404         btst    #2,SYMBOL_NAME(boot_info)+LBI_CPU+3
 405         bnes    1f
 406         btst    #3,SYMBOL_NAME(boot_info)+LBI_CPU+3
 407         bnes    1f
 408 
 409         /*
 410          * switch address space
 411          */
 412 
 413         /* flush MC68030/MC68020 caches (they are virtually addressed) */
 414         movec   %cacr,%d0
 415         oril    #LFLUSH_I_AND_D,%d0
 416         movec   %d0,%cacr
 417 
 418         /* switch the root pointer */
 419         pmove   %a0@(LTSS_CRP),%crp
 420 
 421         /* flush address translation cache (probably not needed */
 422         pflusha
 423 
 424         jra     2f      /* skip m68040 stuff */
 425 
 426 1:
 427         /*
 428          * switch address space
 429          */
 430 
 431         /* flush address translation cache (user entries) */
 432         .word   0xf510                  /* pflushan */
 433 
 434         /* switch the root pointer */
 435         movel   %a0@(LTSS_CRP+4),%d0
 436         .long   0x4e7b0806              /* movec d0,urp */
 437 
 438         /* is it a '060 ? */
 439         btst    #3,SYMBOL_NAME(boot_info)+LBI_CPU+3
 440         beqs    2f
 441         /* clear user entries in the branch cache */
 442         movec   %cacr,%d0
 443         orl     #0x00200000,%d0
 444         movec   %d0,%cacr
 445 
 446 2:
 447         /* restore floating point context */
 448         tstb    %a0@(LTSS_FPCTXT+27*4)
 449         jeq     1f
 450         fmovemx %a0@(LTSS_FPCTXT),%fp0-%fp7
 451         fmoveml %a0@(LTSS_FPCTXT+24*4),%fpcr/%fpsr/%fpiar
 452 1:      frestore %a0@(LTSS_FPCTXT+27*4)
 453 
 454         /* restore the kernel stack pointer */
 455         movel   %a0@(LTSS_KSP),%sp
 456 
 457         /* restore non-scratch registers */
 458         RESTORE_SWITCH_STACK
 459 
 460         /* restore user stack pointer */
 461         movel   %a0@(LTSS_USP),%d0
 462         movec   %d0,%usp
 463 
 464         /* restore fs (sfc,%dfc) */
 465         movew   %a0@(LTSS_FS),%a1
 466         movec   %a1,%sfc
 467         movec   %a1,%dfc
 468 
 469         /* restore status register */
 470         movew   %a0@(LTSS_SR),%sr
 471 
 472         rts
 473 
 474 .data
 475 ALIGN
 476 SYMBOL_NAME_LABEL(sys_call_table)
 477         .long SYMBOL_NAME(sys_setup)            /* 0 */
 478         .long SYMBOL_NAME(sys_exit)
 479         .long SYMBOL_NAME(sys_fork)
 480         .long SYMBOL_NAME(sys_read)
 481         .long SYMBOL_NAME(sys_write)
 482         .long SYMBOL_NAME(sys_open)             /* 5 */
 483         .long SYMBOL_NAME(sys_close)
 484         .long SYMBOL_NAME(sys_waitpid)
 485         .long SYMBOL_NAME(sys_creat)
 486         .long SYMBOL_NAME(sys_link)
 487         .long SYMBOL_NAME(sys_unlink)           /* 10 */
 488         .long SYMBOL_NAME(sys_execve)
 489         .long SYMBOL_NAME(sys_chdir)
 490         .long SYMBOL_NAME(sys_time)
 491         .long SYMBOL_NAME(sys_mknod)
 492         .long SYMBOL_NAME(sys_chmod)            /* 15 */
 493         .long SYMBOL_NAME(sys_chown)
 494         .long SYMBOL_NAME(sys_break)
 495         .long SYMBOL_NAME(sys_stat)
 496         .long SYMBOL_NAME(sys_lseek)
 497         .long SYMBOL_NAME(sys_getpid)           /* 20 */
 498         .long SYMBOL_NAME(sys_mount)
 499         .long SYMBOL_NAME(sys_umount)
 500         .long SYMBOL_NAME(sys_setuid)
 501         .long SYMBOL_NAME(sys_getuid)
 502         .long SYMBOL_NAME(sys_stime)            /* 25 */
 503         .long SYMBOL_NAME(sys_ptrace)
 504         .long SYMBOL_NAME(sys_alarm)
 505         .long SYMBOL_NAME(sys_fstat)
 506         .long SYMBOL_NAME(sys_pause)
 507         .long SYMBOL_NAME(sys_utime)            /* 30 */
 508         .long SYMBOL_NAME(sys_stty)
 509         .long SYMBOL_NAME(sys_gtty)
 510         .long SYMBOL_NAME(sys_access)
 511         .long SYMBOL_NAME(sys_nice)
 512         .long SYMBOL_NAME(sys_ftime)            /* 35 */
 513         .long SYMBOL_NAME(sys_sync)
 514         .long SYMBOL_NAME(sys_kill)
 515         .long SYMBOL_NAME(sys_rename)
 516         .long SYMBOL_NAME(sys_mkdir)
 517         .long SYMBOL_NAME(sys_rmdir)            /* 40 */
 518         .long SYMBOL_NAME(sys_dup)
 519         .long SYMBOL_NAME(sys_pipe)
 520         .long SYMBOL_NAME(sys_times)
 521         .long SYMBOL_NAME(sys_prof)
 522         .long SYMBOL_NAME(sys_brk)              /* 45 */
 523         .long SYMBOL_NAME(sys_setgid)
 524         .long SYMBOL_NAME(sys_getgid)
 525         .long SYMBOL_NAME(sys_signal)
 526         .long SYMBOL_NAME(sys_geteuid)
 527         .long SYMBOL_NAME(sys_getegid)          /* 50 */
 528         .long SYMBOL_NAME(sys_acct)
 529         .long SYMBOL_NAME(sys_phys)
 530         .long SYMBOL_NAME(sys_lock)
 531         .long SYMBOL_NAME(sys_ioctl)
 532         .long SYMBOL_NAME(sys_fcntl)            /* 55 */
 533         .long SYMBOL_NAME(sys_mpx)
 534         .long SYMBOL_NAME(sys_setpgid)
 535         .long SYMBOL_NAME(sys_ulimit)
 536         .long SYMBOL_NAME(sys_olduname)
 537         .long SYMBOL_NAME(sys_umask)            /* 60 */
 538         .long SYMBOL_NAME(sys_chroot)
 539         .long SYMBOL_NAME(sys_ustat)
 540         .long SYMBOL_NAME(sys_dup2)
 541         .long SYMBOL_NAME(sys_getppid)
 542         .long SYMBOL_NAME(sys_getpgrp)          /* 65 */
 543         .long SYMBOL_NAME(sys_setsid)
 544         .long SYMBOL_NAME(sys_sigaction)
 545         .long SYMBOL_NAME(sys_sgetmask)
 546         .long SYMBOL_NAME(sys_ssetmask)
 547         .long SYMBOL_NAME(sys_setreuid)         /* 70 */
 548         .long SYMBOL_NAME(sys_setregid)
 549         .long SYMBOL_NAME(sys_sigsuspend)
 550         .long SYMBOL_NAME(sys_sigpending)
 551         .long SYMBOL_NAME(sys_sethostname)
 552         .long SYMBOL_NAME(sys_setrlimit)        /* 75 */
 553         .long SYMBOL_NAME(sys_getrlimit)
 554         .long SYMBOL_NAME(sys_getrusage)
 555         .long SYMBOL_NAME(sys_gettimeofday)
 556         .long SYMBOL_NAME(sys_settimeofday)
 557         .long SYMBOL_NAME(sys_getgroups)        /* 80 */
 558         .long SYMBOL_NAME(sys_setgroups)
 559         .long SYMBOL_NAME(old_select)
 560         .long SYMBOL_NAME(sys_symlink)
 561         .long SYMBOL_NAME(sys_lstat)
 562         .long SYMBOL_NAME(sys_readlink)         /* 85 */
 563         .long SYMBOL_NAME(sys_uselib)
 564         .long SYMBOL_NAME(sys_swapon)
 565         .long SYMBOL_NAME(sys_reboot)
 566         .long SYMBOL_NAME(old_readdir)
 567         .long SYMBOL_NAME(old_mmap)             /* 90 */
 568         .long SYMBOL_NAME(sys_munmap)
 569         .long SYMBOL_NAME(sys_truncate)
 570         .long SYMBOL_NAME(sys_ftruncate)
 571         .long SYMBOL_NAME(sys_fchmod)
 572         .long SYMBOL_NAME(sys_fchown)           /* 95 */
 573         .long SYMBOL_NAME(sys_getpriority)
 574         .long SYMBOL_NAME(sys_setpriority)
 575         .long SYMBOL_NAME(sys_profil)
 576         .long SYMBOL_NAME(sys_statfs)
 577         .long SYMBOL_NAME(sys_fstatfs)          /* 100 */
 578         .long SYMBOL_NAME(sys_ioperm)
 579         .long SYMBOL_NAME(sys_socketcall)
 580         .long SYMBOL_NAME(sys_syslog)
 581         .long SYMBOL_NAME(sys_setitimer)
 582         .long SYMBOL_NAME(sys_getitimer)        /* 105 */
 583         .long SYMBOL_NAME(sys_newstat)
 584         .long SYMBOL_NAME(sys_newlstat)
 585         .long SYMBOL_NAME(sys_newfstat)
 586         .long SYMBOL_NAME(sys_uname)
 587         .long SYMBOL_NAME(sys_ni_syscall)       /* iopl for i386 */ /* 110 */
 588         .long SYMBOL_NAME(sys_vhangup)
 589         .long SYMBOL_NAME(sys_idle)
 590         .long SYMBOL_NAME(sys_ni_syscall)       /* vm86 for i386 */
 591         .long SYMBOL_NAME(sys_wait4)
 592         .long SYMBOL_NAME(sys_swapoff)          /* 115 */
 593         .long SYMBOL_NAME(sys_sysinfo)
 594         .long SYMBOL_NAME(sys_ipc)
 595         .long SYMBOL_NAME(sys_fsync)
 596         .long SYMBOL_NAME(sys_sigreturn)
 597         .long SYMBOL_NAME(sys_clone)            /* 120 */
 598         .long SYMBOL_NAME(sys_setdomainname)
 599         .long SYMBOL_NAME(sys_newuname)
 600         .long SYMBOL_NAME(sys_ni_syscall)       /* modify_ldt for i386 */
 601         .long SYMBOL_NAME(sys_adjtimex)
 602         .long SYMBOL_NAME(sys_mprotect)         /* 125 */
 603         .long SYMBOL_NAME(sys_sigprocmask)
 604         .long SYMBOL_NAME(sys_create_module)
 605         .long SYMBOL_NAME(sys_init_module)
 606         .long SYMBOL_NAME(sys_delete_module)
 607         .long SYMBOL_NAME(sys_get_kernel_syms)  /* 130 */
 608         .long SYMBOL_NAME(sys_quotactl)
 609         .long SYMBOL_NAME(sys_getpgid)
 610         .long SYMBOL_NAME(sys_fchdir)
 611         .long SYMBOL_NAME(sys_bdflush)
 612         .long SYMBOL_NAME(sys_sysfs)            /* 135 */
 613         .long SYMBOL_NAME(sys_personality)
 614         .long SYMBOL_NAME(sys_ni_syscall)       /* for afs_syscall */
 615         .long SYMBOL_NAME(sys_setfsuid)
 616         .long SYMBOL_NAME(sys_setfsgid)
 617         .long SYMBOL_NAME(sys_llseek)           /* 140 */
 618         .long SYMBOL_NAME(sys_getdents)
 619         .long SYMBOL_NAME(sys_select)
 620         .long SYMBOL_NAME(sys_flock)
 621         .long SYMBOL_NAME(sys_msync)
 622         .long SYMBOL_NAME(sys_readv)            /* 145 */
 623         .long SYMBOL_NAME(sys_writev)
 624         .long SYMBOL_NAME(sys_getsid)
 625         .long SYMBOL_NAME(sys_fdatasync)
 626         .long SYMBOL_NAME(sys_sysctl)
 627         .long SYMBOL_NAME(sys_mlock)            /* 150 */
 628         .long SYMBOL_NAME(sys_munlock)
 629         .long SYMBOL_NAME(sys_mlockall)
 630         .long SYMBOL_NAME(sys_munlockall)
 631         .long SYMBOL_NAME(sys_sched_setparam)
 632         .long SYMBOL_NAME(sys_sched_getparam)   /* 155 */
 633         .long SYMBOL_NAME(sys_sched_setscheduler)
 634         .long SYMBOL_NAME(sys_sched_getscheduler)
 635         .long SYMBOL_NAME(sys_sched_yield)
 636         .long SYMBOL_NAME(sys_sched_get_priority_max)
 637         .long SYMBOL_NAME(sys_sched_get_priority_min)  /* 160 */
 638         .long SYMBOL_NAME(sys_sched_rr_get_interval)
 639         .long SYMBOL_NAME(sys_nanosleep)
 640         .long SYMBOL_NAME(sys_mremap)
 641         .space (NR_syscalls-163)*4

/* [previous][next][first][last][top][bottom][index][help] */