sparc: Create a new file lib/ksyms.c and add export of all symbols defined in assembl...
[linux-2.6] / arch / sparc / kernel / sparc_ksyms_32.c
1 /*
2  * arch/sparc/kernel/ksyms.c: Sparc specific ksyms support.
3  *
4  * Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)
5  * Copyright (C) 1996 Eddie C. Dost (ecd@skynet.be)
6  */
7
8 #define PROMLIB_INTERNAL
9
10 #include <linux/module.h>
11 #include <linux/init.h>
12 #include <linux/smp.h>
13 #include <linux/types.h>
14 #include <linux/sched.h>
15 #include <linux/interrupt.h>
16 #include <linux/in6.h>
17 #include <linux/spinlock.h>
18 #include <linux/mm.h>
19 #include <linux/syscalls.h>
20 #ifdef CONFIG_PCI
21 #include <linux/pci.h>
22 #endif
23 #include <linux/pm.h>
24 #ifdef CONFIG_HIGHMEM
25 #include <linux/highmem.h>
26 #endif
27
28 #include <asm/oplib.h>
29 #include <asm/delay.h>
30 #include <asm/system.h>
31 #include <asm/auxio.h>
32 #include <asm/pgtable.h>
33 #include <asm/io.h>
34 #include <asm/irq.h>
35 #include <asm/idprom.h>
36 #include <asm/head.h>
37 #include <asm/smp.h>
38 #include <asm/ptrace.h>
39 #include <asm/uaccess.h>
40 #include <asm/checksum.h>
41 #ifdef CONFIG_SBUS
42 #include <asm/dma.h>
43 #endif
44 #include <asm/io-unit.h>
45 #include <asm/bug.h>
46
47 extern spinlock_t rtc_lock;
48
49 struct poll {
50         int fd;
51         short events;
52         short revents;
53 };
54
55 /* used by various drivers */
56 EXPORT_SYMBOL(sparc_cpu_model);
57 EXPORT_SYMBOL(kernel_thread);
58
59 EXPORT_SYMBOL(sparc_valid_addr_bitmap);
60 EXPORT_SYMBOL(phys_base);
61 EXPORT_SYMBOL(pfn_base);
62
63 /* Per-CPU information table */
64 EXPORT_PER_CPU_SYMBOL(__cpu_data);
65
66 #ifdef CONFIG_SMP
67 /* IRQ implementation. */
68 EXPORT_SYMBOL(synchronize_irq);
69 #endif
70
71 EXPORT_SYMBOL(__udelay);
72 EXPORT_SYMBOL(__ndelay);
73 EXPORT_SYMBOL(rtc_lock);
74 EXPORT_SYMBOL(set_auxio);
75 EXPORT_SYMBOL(get_auxio);
76 EXPORT_SYMBOL(io_remap_pfn_range);
77
78 #ifndef CONFIG_SMP
79 EXPORT_SYMBOL(BTFIXUP_CALL(___xchg32));
80 #else
81 EXPORT_SYMBOL(BTFIXUP_CALL(__hard_smp_processor_id));
82 #endif
83 EXPORT_SYMBOL(BTFIXUP_CALL(mmu_unlockarea));
84 EXPORT_SYMBOL(BTFIXUP_CALL(mmu_lockarea));
85 EXPORT_SYMBOL(BTFIXUP_CALL(mmu_get_scsi_sgl));
86 EXPORT_SYMBOL(BTFIXUP_CALL(mmu_get_scsi_one));
87 EXPORT_SYMBOL(BTFIXUP_CALL(mmu_release_scsi_sgl));
88 EXPORT_SYMBOL(BTFIXUP_CALL(mmu_release_scsi_one));
89
90 EXPORT_SYMBOL(BTFIXUP_CALL(pgprot_noncached));
91
92 #ifdef CONFIG_SBUS
93 EXPORT_SYMBOL(sbus_set_sbus64);
94 #endif
95 #ifdef CONFIG_PCI
96 EXPORT_SYMBOL(insb);
97 EXPORT_SYMBOL(outsb);
98 EXPORT_SYMBOL(insw);
99 EXPORT_SYMBOL(outsw);
100 EXPORT_SYMBOL(insl);
101 EXPORT_SYMBOL(outsl);
102 EXPORT_SYMBOL(pci_alloc_consistent);
103 EXPORT_SYMBOL(pci_free_consistent);
104 EXPORT_SYMBOL(pci_map_single);
105 EXPORT_SYMBOL(pci_unmap_single);
106 EXPORT_SYMBOL(pci_dma_sync_single_for_cpu);
107 EXPORT_SYMBOL(pci_dma_sync_single_for_device);
108 EXPORT_SYMBOL(pci_dma_sync_sg_for_cpu);
109 EXPORT_SYMBOL(pci_dma_sync_sg_for_device);
110 EXPORT_SYMBOL(pci_map_sg);
111 EXPORT_SYMBOL(pci_unmap_sg);
112 EXPORT_SYMBOL(pci_map_page);
113 EXPORT_SYMBOL(pci_unmap_page);
114 /* Actually, ioremap/iounmap are not PCI specific. But it is ok for drivers. */
115 EXPORT_SYMBOL(ioremap);
116 EXPORT_SYMBOL(iounmap);
117 #endif
118
119 /* in arch/sparc/mm/highmem.c */
120 #ifdef CONFIG_HIGHMEM
121 EXPORT_SYMBOL(kmap_atomic);
122 EXPORT_SYMBOL(kunmap_atomic);
123 #endif
124
125 /* prom symbols */
126 EXPORT_SYMBOL(idprom);
127 EXPORT_SYMBOL(prom_root_node);
128 EXPORT_SYMBOL(prom_getchild);
129 EXPORT_SYMBOL(prom_getsibling);
130 EXPORT_SYMBOL(prom_searchsiblings);
131 EXPORT_SYMBOL(prom_firstprop);
132 EXPORT_SYMBOL(prom_nextprop);
133 EXPORT_SYMBOL(prom_getproplen);
134 EXPORT_SYMBOL(prom_getproperty);
135 EXPORT_SYMBOL(prom_node_has_property);
136 EXPORT_SYMBOL(prom_setprop);
137 EXPORT_SYMBOL(saved_command_line);
138 EXPORT_SYMBOL(prom_apply_obio_ranges);
139 EXPORT_SYMBOL(prom_feval);
140 EXPORT_SYMBOL(prom_getbool);
141 EXPORT_SYMBOL(prom_getstring);
142 EXPORT_SYMBOL(prom_getint);
143 EXPORT_SYMBOL(prom_getintdefault);
144 EXPORT_SYMBOL(prom_finddevice);
145 EXPORT_SYMBOL(romvec);
146 EXPORT_SYMBOL(__prom_getchild);
147 EXPORT_SYMBOL(__prom_getsibling);
148
149 /* sparc library symbols */
150 EXPORT_SYMBOL(page_kernel);
151
152 /* Cache flushing.  */
153 EXPORT_SYMBOL(sparc_flush_page_to_ram);
154
155 /* For when serial stuff is built as modules. */
156 EXPORT_SYMBOL(sun_do_break);
157
158 EXPORT_SYMBOL(__ret_efault);
159
160 #ifdef CONFIG_DEBUG_BUGVERBOSE
161 EXPORT_SYMBOL(do_BUG);
162 #endif
163
164 /* Sun Power Management Idle Handler */
165 EXPORT_SYMBOL(pm_idle);
166
167 EXPORT_SYMBOL(empty_zero_page);