systbl.S 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /*
  2. * This file contains the table of syscall-handling functions.
  3. * Copyright (C) 1995-1996 Gary Thomas (gdt@linuxppc.org)
  4. *
  5. * Largely rewritten by Cort Dougan (cort@cs.nmt.edu)
  6. * and Paul Mackerras.
  7. *
  8. * Adapted for iSeries by Mike Corrigan (mikejc@us.ibm.com)
  9. * PPC64 updates by Dave Engebretsen (engebret@us.ibm.com)
  10. *
  11. * This program is free software; you can redistribute it and/or
  12. * modify it under the terms of the GNU General Public License
  13. * as published by the Free Software Foundation; either version
  14. * 2 of the License, or (at your option) any later version.
  15. */
  16. #include <asm/ppc_asm.h>
  17. #ifdef CONFIG_PPC64
  18. #define SYSCALL(func) .llong DOTSYM(sys_##func),DOTSYM(sys_##func)
  19. #define COMPAT_SYS(func) .llong DOTSYM(sys_##func),DOTSYM(compat_sys_##func)
  20. #define PPC_SYS(func) .llong DOTSYM(ppc_##func),DOTSYM(ppc_##func)
  21. #define OLDSYS(func) .llong DOTSYM(sys_ni_syscall),DOTSYM(sys_ni_syscall)
  22. #define SYS32ONLY(func) .llong DOTSYM(sys_ni_syscall),DOTSYM(compat_sys_##func)
  23. #define PPC64ONLY(func) .llong DOTSYM(ppc_##func),DOTSYM(sys_ni_syscall)
  24. #define SYSX(f, f3264, f32) .llong DOTSYM(f),DOTSYM(f3264)
  25. #else
  26. #define SYSCALL(func) .long sys_##func
  27. #define COMPAT_SYS(func) .long sys_##func
  28. #define PPC_SYS(func) .long ppc_##func
  29. #define OLDSYS(func) .long sys_##func
  30. #define SYS32ONLY(func) .long sys_##func
  31. #define PPC64ONLY(func) .long sys_ni_syscall
  32. #define SYSX(f, f3264, f32) .long f32
  33. #endif
  34. #define SYSCALL_SPU(func) SYSCALL(func)
  35. #define COMPAT_SYS_SPU(func) COMPAT_SYS(func)
  36. #define PPC_SYS_SPU(func) PPC_SYS(func)
  37. #define SYSX_SPU(f, f3264, f32) SYSX(f, f3264, f32)
  38. .section .rodata,"a"
  39. #ifdef CONFIG_PPC64
  40. .p2align 3
  41. #endif
  42. .globl sys_call_table
  43. sys_call_table:
  44. #include <asm/systbl.h>