alpha_ksyms.c 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  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. /* Networking helper routines. */
  49. EXPORT_SYMBOL(csum_tcpudp_magic);
  50. EXPORT_SYMBOL(ip_compute_csum);
  51. EXPORT_SYMBOL(ip_fast_csum);
  52. EXPORT_SYMBOL(csum_partial_copy_nocheck);
  53. EXPORT_SYMBOL(csum_partial_copy_from_user);
  54. EXPORT_SYMBOL(csum_ipv6_magic);
  55. #ifdef CONFIG_MATHEMU_MODULE
  56. extern long (*alpha_fp_emul_imprecise)(struct pt_regs *, unsigned long);
  57. extern long (*alpha_fp_emul) (unsigned long pc);
  58. EXPORT_SYMBOL(alpha_fp_emul_imprecise);
  59. EXPORT_SYMBOL(alpha_fp_emul);
  60. #endif
  61. /*
  62. * The following are specially called from the uaccess assembly stubs.
  63. */
  64. EXPORT_SYMBOL(__copy_user);
  65. EXPORT_SYMBOL(__do_clear_user);
  66. /*
  67. * SMP-specific symbols.
  68. */
  69. #ifdef CONFIG_SMP
  70. EXPORT_SYMBOL(_atomic_dec_and_lock);
  71. #endif /* CONFIG_SMP */
  72. /*
  73. * The following are special because they're not called
  74. * explicitly (the C compiler or assembler generates them in
  75. * response to division operations). Fortunately, their
  76. * interface isn't gonna change any time soon now, so it's OK
  77. * to leave it out of version control.
  78. */
  79. # undef memcpy
  80. # undef memset
  81. EXPORT_SYMBOL(__divl);
  82. EXPORT_SYMBOL(__divlu);
  83. EXPORT_SYMBOL(__divq);
  84. EXPORT_SYMBOL(__divqu);
  85. EXPORT_SYMBOL(__reml);
  86. EXPORT_SYMBOL(__remlu);
  87. EXPORT_SYMBOL(__remq);
  88. EXPORT_SYMBOL(__remqu);
  89. EXPORT_SYMBOL(memcpy);
  90. EXPORT_SYMBOL(memset);
  91. EXPORT_SYMBOL(memchr);