ppc_ksyms.c
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:8k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. /* 
  2.  * c 2001 PPC 64 Team, IBM Corp
  3.  *
  4.  *      This program is free software; you can redistribute it and/or
  5.  *      modify it under the terms of the GNU General Public License
  6.  *      as published by the Free Software Foundation; either version
  7.  *      2 of the License, or (at your option) any later version.
  8.  */
  9. #include <linux/config.h>
  10. #include <linux/module.h>
  11. #include <linux/threads.h>
  12. #include <linux/smp.h>
  13. #include <linux/elfcore.h>
  14. #include <linux/sched.h>
  15. #include <linux/string.h>
  16. #include <linux/interrupt.h>
  17. #include <linux/vt_kern.h>
  18. #include <linux/spinlock.h>
  19. #include <linux/console.h>
  20. #include <linux/irq.h>
  21. #include <linux/pci.h>
  22. #include <linux/delay.h>
  23. #include <asm/page.h>
  24. #include <asm/semaphore.h>
  25. #include <asm/processor.h>
  26. #include <asm/uaccess.h>
  27. #include <asm/io.h>
  28. #include <linux/ide.h>
  29. #include <asm/ide.h>
  30. #include <asm/atomic.h>
  31. #include <asm/bitops.h>
  32. #include <asm/checksum.h>
  33. #include <asm/pgtable.h>
  34. #include <asm/prom.h>
  35. #include <asm/system.h>
  36. #include <asm/pci-bridge.h>
  37. #include <asm/irq.h>
  38. #include <asm/dma.h>
  39. #include <asm/machdep.h>
  40. #include <asm/hw_irq.h>
  41. #include <asm/abs_addr.h>
  42. #include <asm/smplock.h>
  43. #ifdef CONFIG_PPC_ISERIES
  44. #include <asm/iSeries/iSeries_pci.h>
  45. #include <asm/iSeries/iSeries_proc.h>
  46. #include <asm/iSeries/mf.h>
  47. #include <asm/iSeries/HvLpEvent.h>
  48. #include <asm/iSeries/HvLpConfig.h>
  49. #include <asm/iSeries/ItLpNaca.h>
  50. #include <asm/iSeries/ItExtVpdPanel.h>
  51. #include <asm/iSeries/LparData.h>
  52. #else
  53. #include <asm/rtas.h>
  54. #endif
  55. /* Tell string.h we don't want memcpy etc. as cpp defines */
  56. #define EXPORT_SYMTAB_STROPS
  57. extern void syscall_trace(void);
  58. extern void do_IRQ(struct pt_regs *regs, int isfake);
  59. extern void SystemResetException(struct pt_regs *regs);
  60. extern void MachineCheckException(struct pt_regs *regs);
  61. extern void AlignmentException(struct pt_regs *regs);
  62. extern void ProgramCheckException(struct pt_regs *regs);
  63. extern void SingleStepException(struct pt_regs *regs);
  64. extern int sys_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg);
  65. extern int sys_sigreturn(struct pt_regs *regs);
  66. extern int do_signal(sigset_t *, struct pt_regs *);
  67. extern int register_ioctl32_conversion(unsigned int cmd, int (*handler)(unsigned int, unsigned int, unsigned long, struct file *));
  68. extern int unregister_ioctl32_conversion(unsigned int cmd);
  69. long long __ashrdi3(long long, int);
  70. long long __ashldi3(long long, int);
  71. long long __lshrdi3(long long, int);
  72. int abs(int);
  73. extern struct pci_dev * iSeries_veth_dev;
  74. extern struct pci_dev * iSeries_vio_dev;
  75. EXPORT_SYMBOL(do_signal);
  76. EXPORT_SYMBOL(syscall_trace);
  77. EXPORT_SYMBOL(do_IRQ);
  78. EXPORT_SYMBOL(SystemResetException);
  79. EXPORT_SYMBOL(MachineCheckException);
  80. EXPORT_SYMBOL(AlignmentException);
  81. EXPORT_SYMBOL(ProgramCheckException);
  82. EXPORT_SYMBOL(SingleStepException);
  83. EXPORT_SYMBOL(sys_ioctl);
  84. EXPORT_SYMBOL(sys_sigreturn);
  85. EXPORT_SYMBOL(enable_irq);
  86. EXPORT_SYMBOL(disable_irq);
  87. EXPORT_SYMBOL(disable_irq_nosync);
  88. #ifdef CONFIG_SMP
  89. EXPORT_SYMBOL(kernel_flag);
  90. EXPORT_SYMBOL(synchronize_irq);
  91. EXPORT_SYMBOL(smp_num_cpus);
  92. #endif /* CONFIG_SMP */
  93. EXPORT_SYMBOL(register_ioctl32_conversion);
  94. EXPORT_SYMBOL(unregister_ioctl32_conversion);
  95. EXPORT_SYMBOL(isa_io_base);
  96. EXPORT_SYMBOL(isa_mem_base);
  97. EXPORT_SYMBOL(pci_io_base);
  98. EXPORT_SYMBOL(pci_dram_offset);
  99. EXPORT_SYMBOL(find_next_zero_bit);
  100. EXPORT_SYMBOL(strcpy);
  101. EXPORT_SYMBOL(strncpy);
  102. EXPORT_SYMBOL(strcat);
  103. EXPORT_SYMBOL(strncat);
  104. EXPORT_SYMBOL(strchr);
  105. EXPORT_SYMBOL(strrchr);
  106. EXPORT_SYMBOL(strpbrk);
  107. EXPORT_SYMBOL(strtok);
  108. EXPORT_SYMBOL(strstr);
  109. EXPORT_SYMBOL(strlen);
  110. EXPORT_SYMBOL(strnlen);
  111. EXPORT_SYMBOL(strcmp);
  112. EXPORT_SYMBOL(strncmp);
  113. EXPORT_SYMBOL(__down_interruptible);
  114. EXPORT_SYMBOL(__up);
  115. EXPORT_SYMBOL(naca);
  116. EXPORT_SYMBOL(__down);
  117. /* EXPORT_SYMBOL(csum_partial); already in net/netsyms.c */
  118. EXPORT_SYMBOL(csum_partial_copy_generic);
  119. EXPORT_SYMBOL(ip_fast_csum);
  120. EXPORT_SYMBOL(csum_tcpudp_magic);
  121. EXPORT_SYMBOL(__copy_tofrom_user);
  122. EXPORT_SYMBOL(__clear_user);
  123. EXPORT_SYMBOL(__strncpy_from_user);
  124. EXPORT_SYMBOL(__strnlen_user);
  125. /*
  126. EXPORT_SYMBOL(inb);
  127. EXPORT_SYMBOL(inw);
  128. EXPORT_SYMBOL(inl);
  129. EXPORT_SYMBOL(outb);
  130. EXPORT_SYMBOL(outw);
  131. EXPORT_SYMBOL(outl);
  132. EXPORT_SYMBOL(outsl);*/
  133. #ifdef CONFIG_MSCHUNKS
  134. EXPORT_SYMBOL(msChunks);
  135. #endif
  136. EXPORT_SYMBOL(reloc_offset);
  137. #ifdef CONFIG_PPC_ISERIES
  138. EXPORT_SYMBOL(iSeries_proc_callback);
  139. EXPORT_SYMBOL(HvCall0);
  140. EXPORT_SYMBOL(HvCall1);
  141. EXPORT_SYMBOL(HvCall2);
  142. EXPORT_SYMBOL(HvCall3);
  143. EXPORT_SYMBOL(HvCall4);
  144. EXPORT_SYMBOL(HvCall5);
  145. EXPORT_SYMBOL(HvCall6);
  146. EXPORT_SYMBOL(HvCall7);
  147. EXPORT_SYMBOL(HvLpEvent_unregisterHandler);
  148. EXPORT_SYMBOL(HvLpEvent_registerHandler);
  149. EXPORT_SYMBOL(mf_allocateLpEvents);
  150. EXPORT_SYMBOL(mf_deallocateLpEvents);
  151. EXPORT_SYMBOL(HvLpConfig_getLpIndex_outline);
  152. EXPORT_SYMBOL(itLpNaca);
  153. EXPORT_SYMBOL(xItExtVpdPanel);
  154. #endif
  155. EXPORT_SYMBOL(_insb);
  156. EXPORT_SYMBOL(_outsb);
  157. EXPORT_SYMBOL(_insw);
  158. EXPORT_SYMBOL(_outsw);
  159. EXPORT_SYMBOL(_insl);
  160. EXPORT_SYMBOL(_outsl);
  161. EXPORT_SYMBOL(_insw_ns);
  162. EXPORT_SYMBOL(_outsw_ns);
  163. EXPORT_SYMBOL(_insl_ns);
  164. EXPORT_SYMBOL(_outsl_ns);
  165. EXPORT_SYMBOL(ioremap);
  166. EXPORT_SYMBOL(__ioremap);
  167. EXPORT_SYMBOL(iounmap);
  168. #ifdef CONFIG_PCI
  169. EXPORT_SYMBOL(pci_alloc_consistent);
  170. EXPORT_SYMBOL(pci_free_consistent);
  171. EXPORT_SYMBOL(pci_map_single);
  172. EXPORT_SYMBOL(pci_unmap_single);
  173. EXPORT_SYMBOL(pci_map_sg);
  174. EXPORT_SYMBOL(pci_unmap_sg);
  175. #ifdef CONFIG_PPC_ISERIES
  176. EXPORT_SYMBOL(iSeries_Write_Long);
  177. EXPORT_SYMBOL(iSeries_GetLocationData);
  178. EXPORT_SYMBOL(iSeries_Read_Long);
  179. EXPORT_SYMBOL(iSeries_Device_ToggleReset);
  180. EXPORT_SYMBOL(iSeries_Write_Word);
  181. EXPORT_SYMBOL(iSeries_memset_io);
  182. EXPORT_SYMBOL(iSeries_memcpy_toio);
  183. EXPORT_SYMBOL(iSeries_memcpy_fromio);
  184. EXPORT_SYMBOL(iSeries_Read_Word);
  185. EXPORT_SYMBOL(iSeries_Read_Byte);
  186. EXPORT_SYMBOL(iSeries_Write_Byte);
  187. #endif /* CONFIG_PPC_ISERIES */
  188. #ifndef CONFIG_PPC_ISERIES
  189. EXPORT_SYMBOL(eeh_check_failure);
  190. EXPORT_SYMBOL(eeh_total_mmio_ffs);
  191. #endif /* CONFIG_PPC_ISERIES */
  192. #endif /* CONFIG_PCI */
  193. EXPORT_SYMBOL(iSeries_veth_dev);
  194. EXPORT_SYMBOL(iSeries_vio_dev);
  195. EXPORT_SYMBOL(start_thread);
  196. EXPORT_SYMBOL(kernel_thread);
  197. EXPORT_SYMBOL(flush_instruction_cache);
  198. EXPORT_SYMBOL(_get_PVR);
  199. EXPORT_SYMBOL(giveup_fpu);
  200. EXPORT_SYMBOL(enable_kernel_fp);
  201. EXPORT_SYMBOL(flush_icache_range);
  202. EXPORT_SYMBOL(flush_icache_user_range);
  203. EXPORT_SYMBOL(flush_icache_page);
  204. EXPORT_SYMBOL(flush_dcache_page);
  205. #ifdef CONFIG_SMP
  206. EXPORT_SYMBOL(__global_cli);
  207. EXPORT_SYMBOL(__global_sti);
  208. EXPORT_SYMBOL(__global_save_flags);
  209. EXPORT_SYMBOL(__global_restore_flags);
  210. #ifdef CONFIG_PPC_ISERIES
  211. EXPORT_SYMBOL(__no_use_restore_flags);
  212. EXPORT_SYMBOL(__no_use_save_flags);
  213. EXPORT_SYMBOL(__no_use_sti);
  214. EXPORT_SYMBOL(__no_use_cli);
  215. #endif
  216. #endif
  217. EXPORT_SYMBOL(ppc_md);
  218. EXPORT_SYMBOL(find_devices);
  219. EXPORT_SYMBOL(find_type_devices);
  220. EXPORT_SYMBOL(find_compatible_devices);
  221. EXPORT_SYMBOL(find_path_device);
  222. EXPORT_SYMBOL(device_is_compatible);
  223. EXPORT_SYMBOL(machine_is_compatible);
  224. EXPORT_SYMBOL(find_all_nodes);
  225. EXPORT_SYMBOL(get_property);
  226. #ifdef CONFIG_PPC_PSERIES
  227. EXPORT_SYMBOL(rtas_proc_dir);
  228. EXPORT_SYMBOL(rtas_firmware_flash_list);
  229. EXPORT_SYMBOL(rtas_token);
  230. EXPORT_SYMBOL(rtas_call);
  231. #endif
  232. #ifndef CONFIG_PPC_ISERIES
  233. EXPORT_SYMBOL(kd_mksound);
  234. #endif
  235. EXPORT_SYMBOL_NOVERS(__ashrdi3);
  236. EXPORT_SYMBOL_NOVERS(__ashldi3);
  237. EXPORT_SYMBOL_NOVERS(__lshrdi3);
  238. EXPORT_SYMBOL_NOVERS(memcpy);
  239. EXPORT_SYMBOL_NOVERS(memset);
  240. EXPORT_SYMBOL_NOVERS(memmove);
  241. EXPORT_SYMBOL_NOVERS(memscan);
  242. EXPORT_SYMBOL_NOVERS(memcmp);
  243. EXPORT_SYMBOL(abs);
  244. #ifdef CONFIG_VT
  245. EXPORT_SYMBOL(screen_info);
  246. #endif
  247. EXPORT_SYMBOL(timer_interrupt);
  248. EXPORT_SYMBOL(irq_desc);
  249. void ppc_irq_dispatch_handler(struct pt_regs *, int);
  250. EXPORT_SYMBOL(ppc_irq_dispatch_handler);
  251. EXPORT_SYMBOL(get_wchan);
  252. EXPORT_SYMBOL(console_drivers);
  253. #ifdef CONFIG_XMON
  254. EXPORT_SYMBOL(xmon);
  255. #endif
  256. #if defined(CONFIG_KGDB) || defined(CONFIG_XMON)
  257. extern void (*debugger)(struct pt_regs *regs);
  258. extern int (*debugger_bpt)(struct pt_regs *regs);
  259. extern int (*debugger_sstep)(struct pt_regs *regs);
  260. extern int (*debugger_iabr_match)(struct pt_regs *regs);
  261. extern int (*debugger_dabr_match)(struct pt_regs *regs);
  262. extern void (*debugger_fault_handler)(struct pt_regs *regs);
  263. EXPORT_SYMBOL(debugger);
  264. EXPORT_SYMBOL(debugger_bpt);
  265. EXPORT_SYMBOL(debugger_sstep);
  266. EXPORT_SYMBOL(debugger_iabr_match);
  267. EXPORT_SYMBOL(debugger_dabr_match);
  268. EXPORT_SYMBOL(debugger_fault_handler);
  269. #endif
  270. #ifdef CONFIG_SMP
  271. EXPORT_SYMBOL(atomic_dec_and_lock);
  272. #endif
  273. EXPORT_SYMBOL(tb_ticks_per_usec);
  274. #if defined(CONFIG_DUMP) || defined(CONFIG_DUMP_MODULE)
  275. extern void dump_send_ipi(int (*dump_ipi_callback)(struct pt_regs *));
  276. EXPORT_SYMBOL(dump_send_ipi);
  277. #endif