sh_ksyms.c 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. #include <linux/module.h>
  2. #include <linux/smp.h>
  3. #include <linux/user.h>
  4. #include <linux/elfcore.h>
  5. #include <linux/sched.h>
  6. #include <linux/in6.h>
  7. #include <linux/interrupt.h>
  8. #include <linux/vmalloc.h>
  9. #include <linux/pci.h>
  10. #include <linux/irq.h>
  11. #include <asm/sections.h>
  12. #include <asm/semaphore.h>
  13. #include <asm/processor.h>
  14. #include <asm/uaccess.h>
  15. #include <asm/checksum.h>
  16. #include <asm/io.h>
  17. #include <asm/delay.h>
  18. #include <asm/tlbflush.h>
  19. #include <asm/cacheflush.h>
  20. extern int dump_fpu(struct pt_regs *, elf_fpregset_t *);
  21. extern struct hw_interrupt_type no_irq_type;
  22. EXPORT_SYMBOL(sh_mv);
  23. /* platform dependent support */
  24. EXPORT_SYMBOL(dump_fpu);
  25. EXPORT_SYMBOL(kernel_thread);
  26. EXPORT_SYMBOL(irq_desc);
  27. EXPORT_SYMBOL(no_irq_type);
  28. EXPORT_SYMBOL(strlen);
  29. /* PCI exports */
  30. #ifdef CONFIG_PCI
  31. EXPORT_SYMBOL(pci_alloc_consistent);
  32. EXPORT_SYMBOL(pci_free_consistent);
  33. #endif
  34. /* mem exports */
  35. EXPORT_SYMBOL(memchr);
  36. EXPORT_SYMBOL(memcpy);
  37. EXPORT_SYMBOL(memset);
  38. EXPORT_SYMBOL(memmove);
  39. EXPORT_SYMBOL(__copy_user);
  40. #ifdef CONFIG_MMU
  41. EXPORT_SYMBOL(get_vm_area);
  42. #endif
  43. /* semaphore exports */
  44. EXPORT_SYMBOL(__up);
  45. EXPORT_SYMBOL(__down);
  46. EXPORT_SYMBOL(__down_interruptible);
  47. EXPORT_SYMBOL(__down_trylock);
  48. EXPORT_SYMBOL(__udelay);
  49. EXPORT_SYMBOL(__ndelay);
  50. EXPORT_SYMBOL(__const_udelay);
  51. #define DECLARE_EXPORT(name) extern void name(void);EXPORT_SYMBOL(name)
  52. /* These symbols are generated by the compiler itself */
  53. DECLARE_EXPORT(__udivsi3);
  54. DECLARE_EXPORT(__sdivsi3);
  55. DECLARE_EXPORT(__ashrsi3);
  56. DECLARE_EXPORT(__ashlsi3);
  57. DECLARE_EXPORT(__ashrdi3);
  58. DECLARE_EXPORT(__ashldi3);
  59. DECLARE_EXPORT(__ashiftrt_r4_6);
  60. DECLARE_EXPORT(__ashiftrt_r4_7);
  61. DECLARE_EXPORT(__ashiftrt_r4_8);
  62. DECLARE_EXPORT(__ashiftrt_r4_9);
  63. DECLARE_EXPORT(__ashiftrt_r4_10);
  64. DECLARE_EXPORT(__ashiftrt_r4_11);
  65. DECLARE_EXPORT(__ashiftrt_r4_12);
  66. DECLARE_EXPORT(__ashiftrt_r4_13);
  67. DECLARE_EXPORT(__ashiftrt_r4_14);
  68. DECLARE_EXPORT(__ashiftrt_r4_15);
  69. DECLARE_EXPORT(__ashiftrt_r4_20);
  70. DECLARE_EXPORT(__ashiftrt_r4_21);
  71. DECLARE_EXPORT(__ashiftrt_r4_22);
  72. DECLARE_EXPORT(__ashiftrt_r4_23);
  73. DECLARE_EXPORT(__ashiftrt_r4_24);
  74. DECLARE_EXPORT(__ashiftrt_r4_27);
  75. DECLARE_EXPORT(__ashiftrt_r4_30);
  76. DECLARE_EXPORT(__lshrsi3);
  77. DECLARE_EXPORT(__lshrdi3);
  78. DECLARE_EXPORT(__movstrSI8);
  79. DECLARE_EXPORT(__movstrSI12);
  80. DECLARE_EXPORT(__movstrSI16);
  81. DECLARE_EXPORT(__movstrSI20);
  82. DECLARE_EXPORT(__movstrSI24);
  83. DECLARE_EXPORT(__movstrSI28);
  84. DECLARE_EXPORT(__movstrSI32);
  85. DECLARE_EXPORT(__movstrSI36);
  86. DECLARE_EXPORT(__movstrSI40);
  87. DECLARE_EXPORT(__movstrSI44);
  88. DECLARE_EXPORT(__movstrSI48);
  89. DECLARE_EXPORT(__movstrSI52);
  90. DECLARE_EXPORT(__movstrSI56);
  91. DECLARE_EXPORT(__movstrSI60);
  92. #if __GNUC__ == 4
  93. DECLARE_EXPORT(__movmem);
  94. #else
  95. DECLARE_EXPORT(__movstr);
  96. #endif
  97. #ifdef CONFIG_CPU_SH4
  98. #if __GNUC__ == 4
  99. DECLARE_EXPORT(__movmem_i4_even);
  100. DECLARE_EXPORT(__movmem_i4_odd);
  101. DECLARE_EXPORT(__movmemSI12_i4);
  102. #if (__GNUC_MINOR__ == 2 || defined(__GNUC_STM_RELEASE__))
  103. /*
  104. * GCC 4.2 emits these for division, as do GCC 4.1.x versions of the ST
  105. * compiler which include backported patches.
  106. */
  107. DECLARE_EXPORT(__sdivsi3_i4i);
  108. DECLARE_EXPORT(__udiv_qrnnd_16);
  109. DECLARE_EXPORT(__udivsi3_i4i);
  110. #endif
  111. #else /* GCC 3.x */
  112. DECLARE_EXPORT(__movstr_i4_even);
  113. DECLARE_EXPORT(__movstr_i4_odd);
  114. DECLARE_EXPORT(__movstrSI12_i4);
  115. #endif /* __GNUC__ == 4 */
  116. #endif
  117. #if !defined(CONFIG_CACHE_OFF) && (defined(CONFIG_CPU_SH4) || \
  118. defined(CONFIG_SH7705_CACHE_32KB))
  119. /* needed by some modules */
  120. EXPORT_SYMBOL(flush_cache_all);
  121. EXPORT_SYMBOL(flush_cache_range);
  122. EXPORT_SYMBOL(flush_dcache_page);
  123. EXPORT_SYMBOL(__flush_purge_region);
  124. #endif
  125. #if !defined(CONFIG_CACHE_OFF) && defined(CONFIG_MMU) && \
  126. (defined(CONFIG_CPU_SH4) || defined(CONFIG_SH7705_CACHE_32KB))
  127. EXPORT_SYMBOL(clear_user_page);
  128. #endif
  129. EXPORT_SYMBOL(csum_partial);
  130. EXPORT_SYMBOL(csum_partial_copy_generic);
  131. #ifdef CONFIG_IPV6
  132. EXPORT_SYMBOL(csum_ipv6_magic);
  133. #endif
  134. EXPORT_SYMBOL(clear_page);
  135. EXPORT_SYMBOL(__clear_user);
  136. EXPORT_SYMBOL(_ebss);