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         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_ni_syscall)       /* 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

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