alpha_ksyms.c 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. /*
  2. * linux/arch/alpha/kernel/alpha_ksyms.c
  3. *
  4. * Export the alpha-specific functions that are needed for loadable
  5. * modules.
  6. */
  7. #include <linux/module.h>
  8. #include <asm/console.h>
  9. #include <asm/uaccess.h>
  10. #include <asm/checksum.h>
  11. #include <asm/fpu.h>
  12. #include <asm/machvec.h>
  13. #include <linux/syscalls.h>
  14. /* these are C runtime functions with special calling conventions: */
  15. extern void __divl (void);
  16. extern void __reml (void);
  17. extern void __divq (void);
  18. extern void __remq (void);
  19. extern void __divlu (void);
  20. extern void __remlu (void);
  21. extern void __divqu (void);
  22. extern void __remqu (void);
  23. EXPORT_SYMBOL(alpha_mv);
  24. EXPORT_SYMBOL(callback_getenv);
  25. EXPORT_SYMBOL(callback_setenv);
  26. EXPORT_SYMBOL(callback_save_env);
  27. /* platform dependent support */
  28. EXPORT_SYMBOL(strcat);
  29. EXPORT_SYMBOL(strcpy);
  30. EXPORT_SYMBOL(strlen);
  31. EXPORT_SYMBOL(strncpy);
  32. EXPORT_SYMBOL(strncat);
  33. EXPORT_SYMBOL(strchr);
  34. EXPORT_SYMBOL(strrchr);
  35. EXPORT_SYMBOL(memmove);
  36. EXPORT_SYMBOL(__memcpy);
  37. EXPORT_SYMBOL(__memset);
  38. EXPORT_SYMBOL(__memsetw);
  39. EXPORT_SYMBOL(__constant_c_memset);
  40. EXPORT_SYMBOL(copy_page);
  41. EXPORT_SYMBOL(clear_page);
  42. EXPORT_SYMBOL(alpha_read_fp_reg);
  43. EXPORT_SYMBOL(alpha_read_fp_reg_s);
  44. EXPORT_SYMBOL(alpha_write_fp_reg);
  45. EXPORT_SYMBOL(alpha_write_fp_reg_s);
  46. /* entry.S */
  47. EXPORT_SYMBOL(kernel_thread);
  48. EXPORT_SYMBOL(kernel_execve);
  49. /* Networking helper routines. */
  50. EXPORT_SYMBOL(csum_tcpudp_magic);
  51. EXPORT_SYMBOL(ip_compute_csum);
  52. EXPORT_SYMBOL(ip_fast_csum);
  53. EXPORT_SYMBOL(csum_partial_copy_nocheck);
  54. EXPORT_SYMBOL(csum_partial_copy_from_user);
  55. EXPORT_SYMBOL(csum_ipv6_magic);
  56. #ifdef CONFIG_MATHEMU_MODULE
  57. extern long (*alpha_fp_emul_imprecise)(struct pt_regs *, unsigned long);
  58. extern long (*alpha_fp_emul) (unsigned long pc);
  59. EXPORT_SYMBOL(alpha_fp_emul_imprecise);
  60. EXPORT_SYMBOL(alpha_fp_emul);
  61. #endif
  62. /*
  63. * The following are specially called from the uaccess assembly stubs.
  64. */
  65. EXPORT_SYMBOL(__copy_user);
  66. EXPORT_SYMBOL(__do_clear_user);
  67. EXPORT_SYMBOL(__strncpy_from_user);
  68. EXPORT_SYMBOL(__strnlen_user);
  69. /* Semaphore helper functions. */
  70. EXPORT_SYMBOL(__down_failed);
  71. EXPORT_SYMBOL(__down_failed_interruptible);
  72. EXPORT_SYMBOL(__up_wakeup);
  73. EXPORT_SYMBOL(down);
  74. EXPORT_SYMBOL(down_interruptible);
  75. EXPORT_SYMBOL(down_trylock);
  76. EXPORT_SYMBOL(up);
  77. /*
  78. * SMP-specific symbols.
  79. */
  80. #ifdef CONFIG_SMP
  81. EXPORT_SYMBOL(_atomic_dec_and_lock);
  82. #endif /* CONFIG_SMP */
  83. /*
  84. * The following are special because they're not called
  85. * explicitly (the C compiler or assembler generates them in
  86. * response to division operations). Fortunately, their
  87. * interface isn't gonna change any time soon now, so it's OK
  88. * to leave it out of version control.
  89. */
  90. # undef memcpy
  91. # undef memset
  92. EXPORT_SYMBOL(__divl);
  93. EXPORT_SYMBOL(__divlu);
  94. EXPORT_SYMBOL(__divq);
  95. EXPORT_SYMBOL(__divqu);
  96. EXPORT_SYMBOL(__reml);
  97. EXPORT_SYMBOL(__remlu);
  98. EXPORT_SYMBOL(__remq);
  99. EXPORT_SYMBOL(__remqu);
  100. EXPORT_SYMBOL(memcpy);
  101. EXPORT_SYMBOL(memset);
  102. EXPORT_SYMBOL(memchr);