root/arch/alpha/kernel/entry.S

/* [previous][next][first][last][top][bottom][index][help] */
   1 /*
   2  * alpha/entry.S
   3  *
   4  * kernel entry-points
   5  */
   6 
   7 #include <asm/system.h>
   8 
   9 #define halt    .long PAL_halt
  10 #define rti     .long PAL_rti
  11 
  12 #define NR_SYSCALLS 320
  13 #define osf_vfork sys_fork
  14 
  15 /*
  16  * These offsets must match with "struct hae" in io.h:  
  17  */
  18 #define HAE_CACHE       0
  19 #define HAE_REG         8
  20 
  21 /*
  22  * stack offsets
  23  */
  24 #define SP_OFF          160
  25 
  26 #define SWITCH_STACK_SIZE 320
  27 
  28 /*
  29  * task structure offsets
  30  */
  31 #define TASK_STATE      0
  32 #define TASK_COUNTER    8
  33 #define TASK_PRIORITY   16
  34 #define TASK_SIGNAL     24
  35 #define TASK_BLOCKED    32
  36 #define TASK_FLAGS      40
  37 
  38 /*
  39  * task flags (must match include/linux/sched.h):
  40  */
  41 #define PF_PTRACED      0x00000010
  42 
  43 /*
  44  * This defines the normal kernel pt-regs layout.
  45  *
  46  * regs 9-15 preserved by C code
  47  * regs 16-18 saved by PAL-code
  48  * regs 29-30 saved and set up by PAL-code
  49  */
  50 #define SAVE_ALL                        \
  51         subq    $30,160,$30;            \
  52         stq     $0,0($30);              \
  53         stq     $1,8($30);              \
  54         stq     $2,16($30);             \
  55         stq     $3,24($30);             \
  56         stq     $4,32($30);             \
  57         stq     $5,40($30);             \
  58         stq     $6,48($30);             \
  59         stq     $7,56($30);             \
  60         stq     $8,64($30);             \
  61         stq     $19,72($30);            \
  62         stq     $20,80($30);            \
  63         stq     $21,88($30);            \
  64         stq     $22,96($30);            \
  65         stq     $23,104($30);           \
  66         stq     $24,112($30);           \
  67         stq     $25,120($30);           \
  68         stq     $26,128($30);           \
  69         stq     $27,136($30);           \
  70         stq     $28,144($30);           \
  71         lda     $2,hae;                 \
  72         ldq     $2,HAE_CACHE($2);       \
  73         stq     $2,152($30)
  74 
  75 #define RESTORE_ALL                     \
  76         lda     $8,hae;                 \
  77         ldq     $7,HAE_CACHE($8);       \
  78         ldq     $6,152($30);            \
  79         subq    $7,$6,$5;               \
  80         beq     $5,99f;                 \
  81         ldq     $7,HAE_REG($8);         \
  82         addq    $31,7,$16;              \
  83         call_pal PAL_swpipl;            \
  84         stq     $6,HAE_CACHE($8);       \
  85         stq     $6,0($7);               \
  86         mb;                             \
  87         bis     $0,$0,$16;              \
  88         call_pal PAL_swpipl;            \
  89 99:;                                    \
  90         ldq     $0,0($30);              \
  91         ldq     $1,8($30);              \
  92         ldq     $2,16($30);             \
  93         ldq     $3,24($30);             \
  94         ldq     $4,32($30);             \
  95         ldq     $5,40($30);             \
  96         ldq     $6,48($30);             \
  97         ldq     $7,56($30);             \
  98         ldq     $8,64($30);             \
  99         ldq     $19,72($30);            \
 100         ldq     $20,80($30);            \
 101         ldq     $21,88($30);            \
 102         ldq     $22,96($30);            \
 103         ldq     $23,104($30);           \
 104         ldq     $24,112($30);           \
 105         ldq     $25,120($30);           \
 106         ldq     $26,128($30);           \
 107         ldq     $27,136($30);           \
 108         ldq     $28,144($30);           \
 109         addq    $30,160,$30
 110 
 111 .text
 112 .set noat
 113 #ifdef __linux__
 114   .set singlegp
 115 #endif
 116 
 117 .align 3
 118 .globl  entInt
 119 .ent    entInt
 120 entInt:
 121         SAVE_ALL
 122 /* start atomic operation with respect to software interrupts */
 123         lda     $0,intr_count
 124         ldq     $1,0($0)
 125         addq    $1,1,$1
 126         stq     $1,0($0)
 127 /* set up the arguments to the C interrupt handler */
 128         lda     $27,do_entInt
 129         jsr     $26,($27),do_entInt
 130 /* ok, check if we need to do software interrupts */
 131 1:      lda     $0,intr_count
 132         ldq     $1,0($0)
 133         subq    $1,1,$1
 134         bne     $1,2f           /* interrupt within interrupt: return now */
 135         lda     $2,bh_active
 136         ldq     $3,0($2)
 137         lda     $2,bh_mask
 138         ldq     $2,0($2)
 139         and     $2,$3,$2
 140         bne     $2,3f
 141         stq     $1,0($0)
 142         br      $31,ret_from_sys_call
 143 .align 3
 144 2:      stq     $1,0($0)
 145         br      $31,restore_all
 146 .align 3
 147 3:      lda     $27,do_bottom_half
 148         jsr     $26,($27),do_bottom_half
 149         br      $31,1b
 150 .end entInt
 151 
 152 .align 3
 153 .globl  entMM
 154 .ent    entMM
 155 entMM:
 156         SAVE_ALL
 157         lda     $27,do_page_fault
 158         lda     $26,ret_from_sys_call
 159         jsr     $31,($27),do_page_fault
 160 .end entMM
 161 
 162 .align 3
 163 .globl  entArith
 164 .ent    entArith
 165 entArith:
 166         SAVE_ALL
 167         lda     $27,do_entArith
 168         lda     $26,ret_from_sys_call
 169         jsr     $31,($27),do_entArith
 170 .end entArith
 171 
 172 .align 3
 173 .globl  entIF
 174 .ent    entIF
 175 entIF:
 176         SAVE_ALL
 177         lda     $27,do_entIF
 178         lda     $26,ret_from_sys_call
 179         jsr     $31,($27),do_entIF
 180 .end entIF
 181 
 182 /*
 183  * Fork() is one of the special system calls: it needs to
 184  * save the callee-saved regs so that the regs can be found
 185  * for the new process.. We save them in the "context switch"
 186  * stack format (see arch/alpha/kernel/process.c).
 187  *
 188  * Also, for the kernel fork, we need to fake the system call
 189  * stack buildup, as we can't do system calls from kernel space.
 190  */
 191 .align 3
 192 .globl  kernel_fork
 193 .ent    kernel_fork
 194 kernel_fork:
 195         subq $30,6*8,$30
 196         stq $31,0($30)
 197         stq $26,8($30)
 198         stq $29,16($30)
 199         stq $16,24($30)
 200         stq $17,32($30)
 201         stq $18,40($30)
 202         bis $31,2,$0    /* Register v0: syscall nr for fork() */
 203         SAVE_ALL
 204         lda $27,sys_fork
 205         jsr $26,($27),sys_fork
 206         stq $0,0($30)   
 207         br ret_from_sys_call
 208 .end    kernel_fork
 209 
 210 .align 3
 211 .ent    do_switch_stack
 212 do_switch_stack:
 213         lda $30,-SWITCH_STACK_SIZE($30)
 214         stq  $9,0($30)
 215         stq $10,8($30)
 216         stq $11,16($30)
 217         stq $12,24($30)
 218         stq $13,32($30)
 219         stq $14,40($30)
 220         stq $15,48($30)
 221         stq $26,56($30)
 222         stt $f0,64($30)
 223         stt $f1,72($30)
 224         stt $f2,80($30)
 225         stt $f3,88($30)
 226         stt $f4,96($30)
 227         stt $f5,104($30)
 228         stt $f6,112($30)
 229         stt $f7,120($30)
 230         stt $f8,128($30)
 231         stt $f9,136($30)
 232         stt $f10,144($30)
 233         stt $f11,152($30)
 234         stt $f12,160($30)
 235         stt $f13,168($30)
 236         stt $f14,176($30)
 237         stt $f15,184($30)
 238         stt $f16,192($30)
 239         stt $f17,200($30)
 240         stt $f18,208($30)
 241         stt $f19,216($30)
 242         stt $f20,224($30)
 243         stt $f21,232($30)
 244         stt $f22,240($30)
 245         stt $f23,248($30)
 246         stt $f24,256($30)
 247         stt $f25,264($30)
 248         stt $f26,272($30)
 249         stt $f27,280($30)
 250         stt $f28,288($30)
 251         stt $f29,296($30)
 252         stt $f30,304($30)
 253         ret $31,($1),1
 254 .end do_switch_stack
 255 
 256 .align 3
 257 .ent    undo_switch_stack
 258 undo_switch_stack:
 259         ldq  $9,0($30)
 260         ldq $10,8($30)
 261         ldq $11,16($30)
 262         ldq $12,24($30)
 263         ldq $13,32($30)
 264         ldq $14,40($30)
 265         ldq $15,48($30)
 266         ldq $26,56($30)
 267         ldt $f0,64($30)
 268         ldt $f1,72($30)
 269         ldt $f2,80($30)
 270         ldt $f3,88($30)
 271         ldt $f4,96($30)
 272         ldt $f5,104($30)
 273         ldt $f6,112($30)
 274         ldt $f7,120($30)
 275         ldt $f8,128($30)
 276         ldt $f9,136($30)
 277         ldt $f10,144($30)
 278         ldt $f11,152($30)
 279         ldt $f12,160($30)
 280         ldt $f13,168($30)
 281         ldt $f14,176($30)
 282         ldt $f15,184($30)
 283         ldt $f16,192($30)
 284         ldt $f17,200($30)
 285         ldt $f18,208($30)
 286         ldt $f19,216($30)
 287         ldt $f20,224($30)
 288         ldt $f21,232($30)
 289         ldt $f22,240($30)
 290         ldt $f23,248($30)
 291         ldt $f24,256($30)
 292         ldt $f25,264($30)
 293         ldt $f26,272($30)
 294         ldt $f27,280($30)
 295         ldt $f28,288($30)
 296         ldt $f29,296($30)
 297         ldt $f30,304($30)
 298         lda $30,SWITCH_STACK_SIZE($30)
 299         ret $31,($1),1
 300 .end undo_switch_stack
 301 
 302 .align 3
 303 .globl  entUna
 304 .ent    entUna
 305 entUna:
 306         lda $30,-256($30)
 307         stq $0,0($30)
 308         ldq $0,256($30)         /* get PS */
 309         stq $1,8($30)
 310         stq $2,16($30)
 311         stq $3,24($30)
 312         and $0,8,$0             /* user mode? */
 313         stq $4,32($30)
 314         bne $0,entUnaUser       /* yup -> do user-level unaligned fault */
 315         stq $5,40($30)
 316         stq $6,48($30)
 317         stq $7,56($30)
 318         stq $8,64($30)
 319         stq $9,72($30)
 320         stq $10,80($30)
 321         stq $11,88($30)
 322         stq $12,96($30)
 323         stq $13,104($30)
 324         stq $14,112($30)
 325         stq $15,120($30)
 326         /* 16-18 PAL-saved */
 327         stq $19,152($30)
 328         stq $20,160($30)
 329         stq $21,168($30)
 330         stq $22,176($30)
 331         stq $23,184($30)
 332         stq $24,192($30)
 333         stq $25,200($30)
 334         stq $26,208($30)
 335         stq $27,216($30)
 336         stq $28,224($30)
 337         stq $29,232($30)
 338         stq $30,240($30)
 339         stq $31,248($30)
 340         lda $27,do_entUna
 341         jsr $26,($27),do_entUna
 342         ldq $0,0($30)
 343         ldq $1,8($30)
 344         ldq $2,16($30)
 345         ldq $3,24($30)
 346         ldq $4,32($30)
 347         ldq $5,40($30)
 348         ldq $6,48($30)
 349         ldq $7,56($30)
 350         ldq $8,64($30)
 351         ldq $9,72($30)
 352         ldq $10,80($30)
 353         ldq $11,88($30)
 354         ldq $12,96($30)
 355         ldq $13,104($30)
 356         ldq $14,112($30)
 357         ldq $15,120($30)
 358         /* 16-18 PAL-saved */
 359         ldq $19,152($30)
 360         ldq $20,160($30)
 361         ldq $21,168($30)
 362         ldq $22,176($30)
 363         ldq $23,184($30)
 364         ldq $24,192($30)
 365         ldq $25,200($30)
 366         ldq $26,208($30)
 367         ldq $27,216($30)
 368         ldq $28,224($30)
 369         ldq $29,232($30)
 370         ldq $30,240($30)
 371         lda $30,256($30)
 372         rti
 373 .end entUna
 374 
 375 .align 3
 376 .ent    entUnaUser
 377 entUnaUser:
 378         ldq $0,0($30)                   /* restore original $0 */
 379         lda $30,256($30)                /* pop entUna's stack frame */
 380         SAVE_ALL                        /* setup normal kernel stack */
 381         lda $30,-56($30)
 382         stq $9,0($30)
 383         stq $10,8($30)
 384         stq $11,16($30)
 385         stq $12,24($30)
 386         stq $13,32($30)
 387         stq $14,40($30)
 388         stq $15,48($30)
 389         lda $27,do_entUnaUser
 390         bis $31,$30,$19
 391         jsr $26,($27),do_entUnaUser
 392         ldq $9,0($30)
 393         ldq $10,8($30)
 394         ldq $11,16($30)
 395         ldq $12,24($30)
 396         ldq $13,32($30)
 397         ldq $14,40($30)
 398         ldq $15,48($30)
 399         lda $30,56($30)
 400         br $31,ret_from_sys_call
 401 
 402 .end    entUnaUser
 403 
 404 .align 3
 405 .globl  sys_fork
 406 .ent    sys_fork
 407 sys_fork:
 408         br $1,do_switch_stack
 409         bis $30,$30,$16
 410         lda $27,alpha_fork
 411         jsr $26,($27),alpha_fork
 412         br $1,undo_switch_stack
 413         ret $31,($26),1
 414 .end    sys_fork
 415 
 416 .align 3
 417 .globl  alpha_switch_to
 418 .ent    alpha_switch_to
 419 alpha_switch_to:
 420         br $1,do_switch_stack
 421         call_pal PAL_swpctx
 422         br $1,undo_switch_stack
 423         ret $31,($26),1
 424 .end alpha_switch_to
 425 
 426 /*
 427  * Oh, well.. Disassembling OSF/1 binaries to find out how the
 428  * system calls work isn't much fun.
 429  *
 430  * entSys is special in that the PAL-code doesn't save a0-a2, so
 431  * we start off by doing that by hand.
 432  */
 433 .align 3
 434 .globl  entSys
 435 .globl  ret_from_sys_call
 436 .ent    entSys
 437 entSys:
 438         stq     $16,24($30)
 439         stq     $17,32($30)
 440         stq     $18,40($30)
 441         SAVE_ALL
 442         lda     $1,NR_SYSCALLS($31)
 443         lda     $2,sys_call_table
 444         lda     $27,do_entSys
 445         cmpult  $0,$1,$1
 446         s8addq  $0,$2,$2
 447         beq     $1,1f
 448         ldq     $27,0($2)
 449 1:      jsr     $26,($27),do_entSys
 450         blt     $0,syscall_error        /* the call failed */
 451         stq     $0,0($30)
 452 ret_success:
 453         stq     $31,72($30)             /* a3=0 => no error */
 454 .align 3
 455 ret_from_sys_call:
 456         ldq     $0,SP_OFF($30)
 457         cmovne  $26,0,$19               /* $19 = 0 => non-restartable */
 458         and     $0,8,$0
 459         beq     $0,restore_all
 460 ret_from_reschedule:
 461         lda     $0,need_resched
 462         lda     $1,current
 463         ldl     $2,0($0)
 464         lda     $4,init_task
 465         ldq     $3,0($1)
 466         bne     $2,reschedule
 467         subq    $4,$3,$4
 468         beq     $4,restore_all
 469         ldq     $4,TASK_SIGNAL($3)
 470         ldq     $16,TASK_BLOCKED($3)
 471         bic     $4,$16,$4
 472         bne     $4,signal_return
 473 restore_all:
 474         RESTORE_ALL
 475         rti
 476 
 477         .align 3
 478 syscall_error:
 479         /*
 480          * Some system calls (e.g., ptrace) can return arbitrary
 481          * values which might normally be mistaken as error numbers.
 482          * Those functions must setup $0 (v0) directly in the stack frame
 483          * and return with value -255.
 484          */
 485         addq    $0,255,$1
 486         beq     $1,ret_success
 487 
 488         bis     $31,$31,$26     /* tell "ret_from_sys_call" that we can restart */
 489         ldq     $19,0($30)      /* .. with this syscall nr */
 490         ldq     $20,72($30)     /* .. and this a3 */
 491         subq    $31,$0,$0       /* with error in v0 */
 492         addq    $31,1,$1        /* set a3 for errno return */
 493         stq     $0,0($30)
 494         stq     $1,72($30)      /* a3 for return */
 495         br      $31,ret_from_sys_call
 496 
 497 .align 3
 498 signal_return:
 499         bis     $30,$30,$17
 500         br      $1,do_switch_stack
 501         bis     $30,$30,$18
 502         lda     $27,do_signal
 503         jsr     $26,($27),do_signal
 504         lda     $30,SWITCH_STACK_SIZE($30)
 505         br      $31,restore_all
 506 .end entSys
 507 
 508 .align 3
 509 .ent reschedule
 510 reschedule:
 511         subq    $30,16,$30
 512         stq     $19,0($30)      /* save syscall nr */
 513         stq     $20,8($30)      /* and error indication (a3) */
 514         lda     $27,schedule
 515         jsr     $26,($27),schedule
 516         ldq     $19,0($30)
 517         ldq     $20,8($30)
 518         addq    $30,16,$30
 519         br      $31,ret_from_reschedule
 520 .end reschedule
 521 
 522 .align 3
 523 .ent sys_sigreturn
 524 sys_sigreturn:
 525         bis     $30,$30,$17
 526         lda     $30,-SWITCH_STACK_SIZE($30)
 527         bis     $30,$30,$18
 528         lda     $27,do_sigreturn
 529         jsr     $26,($27),do_sigreturn
 530         br      $1,undo_switch_stack
 531         br      $31,ret_from_sys_call
 532 .end sys_sigreturn
 533 
 534 .align 3
 535 .ent sys_sigsuspend
 536 sys_sigsuspend:
 537         bis     $30,$30,$17
 538         br      $1,do_switch_stack
 539         bis     $30,$30,$18
 540         lda     $27,do_sigsuspend
 541         jsr     $26,($27),do_sigsuspend
 542         lda     $30,SWITCH_STACK_SIZE($30)
 543         br      $31,ret_from_sys_call
 544 .end sys_sigsuspend
 545 
 546         .align 3
 547         .globl sys_call_table
 548 sys_call_table:
 549 /*0*/   .quad do_entSys, sys_exit, sys_fork, sys_read, sys_write
 550         .quad do_entSys, sys_close, sys_wait4, do_entSys, sys_link
 551         .quad sys_unlink, do_entSys, sys_chdir, sys_fchdir, sys_mknod
 552         .quad sys_chmod, sys_chown, sys_brk, do_entSys, sys_lseek
 553         .quad sys_getxpid, osf_mount, osf_umount, sys_setuid, sys_getxuid
 554         .quad do_entSys, sys_ptrace, do_entSys, do_entSys, do_entSys
 555         .quad do_entSys, do_entSys, do_entSys, sys_access, do_entSys
 556         .quad do_entSys, sys_sync, sys_kill, do_entSys, sys_setpgid
 557         .quad do_entSys, sys_dup, sys_pipe, do_entSys, do_entSys
 558         .quad sys_open, do_entSys, sys_getxgid, osf_sigprocmask, do_entSys
 559 /*50*/  .quad do_entSys, sys_acct, do_entSys, do_entSys, sys_ioctl
 560         .quad do_entSys, do_entSys, sys_symlink, sys_readlink, sys_execve
 561         .quad sys_umask, do_entSys, do_entSys, sys_getpgrp, sys_getpagesize
 562         .quad do_entSys, osf_vfork, sys_newstat, sys_newlstat, do_entSys
 563         .quad do_entSys, osf_mmap, do_entSys, sys_munmap, sys_mprotect
 564         .quad sys_madvise, sys_vhangup, do_entSys, do_entSys, sys_getgroups
 565         /* map BSD's setpgrp to sys_setpgid for binary compatibility: */
 566         .quad sys_setgroups, do_entSys, sys_setpgid, sys_setitimer, do_entSys
 567         .quad do_entSys, sys_getitimer, sys_gethostname, sys_sethostname, sys_getdtablesize
 568         .quad sys_dup2, sys_newfstat, sys_fcntl, sys_select, do_entSys
 569         .quad sys_fsync, sys_setpriority, sys_socket, sys_connect, sys_accept
 570 /*100*/ .quad sys_getpriority, sys_send, sys_recv, sys_sigreturn, sys_bind
 571         .quad sys_setsockopt, sys_listen, do_entSys, do_entSys, do_entSys
 572         .quad do_entSys, sys_sigsuspend, do_entSys, do_entSys, do_entSys
 573         .quad do_entSys, sys_gettimeofday, sys_getrusage, sys_getsockopt, do_entSys
 574         .quad do_entSys, do_entSys, sys_settimeofday, sys_fchown, sys_fchmod
 575         .quad sys_recvfrom, sys_setreuid, sys_setregid, sys_rename, sys_truncate
 576         .quad sys_ftruncate, do_entSys, sys_setgid, sys_sendto, sys_shutdown
 577         .quad sys_socketpair, sys_mkdir, sys_rmdir, sys_utimes, do_entSys
 578         .quad do_entSys, sys_getpeername, do_entSys, do_entSys, sys_getrlimit
 579         .quad sys_setrlimit, do_entSys, sys_setsid, do_entSys, do_entSys
 580 /*150*/ .quad sys_getsockname, do_entSys, do_entSys, do_entSys, do_entSys
 581         .quad do_entSys, sys_sigaction, do_entSys, do_entSys, osf_getdirentries
 582         .quad osf_statfs, osf_fstatfs, do_entSys, do_entSys, do_entSys
 583         .quad osf_getdomainname, do_entSys, do_entSys, do_entSys, do_entSys
 584         .quad do_entSys, do_entSys, do_entSys, do_entSys, do_entSys
 585         .quad do_entSys, do_entSys, do_entSys, do_entSys, do_entSys
 586         .quad do_entSys, do_entSys, do_entSys, do_entSys, do_entSys
 587         .quad do_entSys, do_entSys, do_entSys, do_entSys, do_entSys
 588         .quad do_entSys, do_entSys, do_entSys, do_entSys, do_entSys
 589         .quad do_entSys, do_entSys, do_entSys, do_entSys, osf_swapon
 590 /*200*/ .quad sys_msgctl, sys_msgget, sys_msgrcv, sys_msgsnd, sys_semctl
 591         .quad sys_semget, sys_semop, osf_utsname, do_entSys, osf_shmat
 592         .quad sys_shmctl, sys_shmdt, sys_shmget, do_entSys, do_entSys
 593         .quad do_entSys, do_entSys, do_entSys, do_entSys, do_entSys
 594         .quad do_entSys, do_entSys, do_entSys, do_entSys, do_entSys
 595         .quad do_entSys, do_entSys, do_entSys, do_entSys, do_entSys
 596         .quad do_entSys, do_entSys, do_entSys, do_entSys, do_entSys
 597         .quad do_entSys, do_entSys, do_entSys, do_entSys, do_entSys
 598         .quad do_entSys, do_entSys, do_entSys, do_entSys, osf_proplist_syscall
 599         .quad do_entSys, do_entSys, do_entSys, do_entSys, do_entSys
 600 /*250*/ .quad do_entSys, osf_usleep_thread, do_entSys, do_entSys, do_entSys
 601         .quad do_entSys, do_entSys, do_entSys, do_entSys, do_entSys
 602         .quad do_entSys, do_entSys, do_entSys, do_entSys, do_entSys
 603         .quad do_entSys, do_entSys, do_entSys, do_entSys, do_entSys
 604         .quad do_entSys, do_entSys, do_entSys, do_entSys, do_entSys
 605         .quad do_entSys, do_entSys, do_entSys, do_entSys, do_entSys
 606         .quad do_entSys, do_entSys, do_entSys, do_entSys, do_entSys
 607         .quad do_entSys, do_entSys, do_entSys, do_entSys, do_entSys
 608         .quad do_entSys, do_entSys, do_entSys, do_entSys, do_entSys
 609         .quad do_entSys, do_entSys, do_entSys, do_entSys, do_entSys
 610 /* linux-specific system calls start at 300 */
 611 /*300*/ .quad sys_bdflush, sys_sethae, sys_mount, sys_adjtimex, sys_swapoff
 612         .quad sys_getdents, sys_create_module, sys_init_module, sys_delete_module, sys_get_kernel_syms
 613         .quad sys_syslog, sys_reboot, do_entSys, do_entSys, do_entSys
 614         .quad do_entSys, do_entSys, do_entSys, do_entSys, do_entSys
 615 

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