syscall-template-powerpc-netbsd.S
上传用户:tsgydb
上传日期:2007-04-14
资源大小:10674k
文件大小:1k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. #include <machine/asm.h>
  2. #define COMPAT_43
  3. #include <sys/syscall.h>
  4. #ifdef SYS___sigsuspend14
  5. #define SYS_sigsuspend SYS___sigsuspend14
  6. #endif
  7. #ifdef SYS___sigaction14
  8. #define SYS_sigaction SYS___sigaction14
  9. #endif
  10. #ifdef SYS___sigprocmask14
  11. #define SYS_sigprocmask SYS___sigprocmask14
  12. #endif
  13. #undef SYSCALL
  14. /* Kernel syscall interface:
  15.    Input:
  16.        0   - system call number
  17.        3-8 - arguments, as in C
  18.    Output:
  19.        so - (summary overflow) clear iff successful
  20.    This macro is similar to SYSCALL in asm.h, but not completely.
  21.    There's room for optimization, if we assume this will continue to
  22.    be assembled as one file.
  23.    This macro expansions does not include the return instruction.
  24.    If there's no other work to be done, use something like:
  25.        SYSCALL(foo) ; ret
  26.    If there is other work to do (in fork, maybe?), do it after the
  27.    SYSCALL invocation.  */
  28. #define SYSCALL(x) 
  29. ENTRY(machdep_sys_ ## x)
  30. li      0, SYS_ ## x  ;
  31. sc ;
  32. bnslr ;
  33. b       PIC_PLT(_C_LABEL(machdep_cerror))
  34. #define XSYSCALL(x) SYSCALL(x) ; blr
  35. XSYSCALL(SYSCALL_NAME)