alpha_ksyms.c 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  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. /*
  70. * SMP-specific symbols.
  71. */
  72. #ifdef CONFIG_SMP
  73. EXPORT_SYMBOL(_atomic_dec_and_lock);
  74. #endif /* CONFIG_SMP */
  75. /*
  76. * The following are special because they're not called
  77. * explicitly (the C compiler or assembler generates them in
  78. * response to division operations). Fortunately, their
  79. * interface isn't gonna change any time soon now, so it's OK
  80. * to leave it out of version control.
  81. */
  82. # undef memcpy
  83. # undef memset
  84. EXPORT_SYMBOL(__divl);
  85. EXPORT_SYMBOL(__divlu);
  86. EXPORT_SYMBOL(__divq);
  87. EXPORT_SYMBOL(__divqu);
  88. EXPORT_SYMBOL(__reml);
  89. EXPORT_SYMBOL(__remlu);
  90. EXPORT_SYMBOL(__remq);
  91. EXPORT_SYMBOL(__remqu);
  92. EXPORT_SYMBOL(memcpy);
  93. EXPORT_SYMBOL(memset);
  94. EXPORT_SYMBOL(memchr);