1 /*
2  * Herein lies all the functions/variables that are "exported" for linkage
3  * with dynamically loaded kernel modules.
4  *			Jon.
5  *
6  * - Stacked module support and unified symbol table added (June 1994)
7  * - External symbol table support added (December 1994)
8  * - Versions on symbols added (December 1994)
9  *   by Bjorn Ekwall <bj0rn@blox.se>
10  */
11 
12 #include <linux/config.h>
13 #include <linux/slab.h>
14 #include <linux/module.h>
15 #include <linux/blkdev.h>
16 #include <linux/cdrom.h>
17 #include <linux/kernel_stat.h>
18 #include <linux/vmalloc.h>
19 #include <linux/sys.h>
20 #include <linux/utsname.h>
21 #include <linux/interrupt.h>
22 #include <linux/ioport.h>
23 #include <linux/serial.h>
24 #include <linux/locks.h>
25 #include <linux/delay.h>
26 #include <linux/random.h>
27 #include <linux/reboot.h>
28 #include <linux/pagemap.h>
29 #include <linux/sysctl.h>
30 #include <linux/hdreg.h>
31 #include <linux/skbuff.h>
32 #include <linux/genhd.h>
33 #include <linux/blkpg.h>
34 #include <linux/swap.h>
35 #include <linux/ctype.h>
36 #include <linux/file.h>
37 #include <linux/iobuf.h>
38 #include <linux/console.h>
39 #include <linux/poll.h>
40 #include <linux/mmzone.h>
41 #include <linux/mm.h>
42 #include <linux/capability.h>
43 #include <linux/highuid.h>
44 #include <linux/brlock.h>
45 #include <linux/fs.h>
46 #include <linux/tty.h>
47 #include <linux/in6.h>
48 #include <linux/completion.h>
49 #include <linux/seq_file.h>
50 #include <linux/dnotify.h>
51 #include <linux/crc32.h>
52 #include <linux/firmware.h>
53 #include <asm/checksum.h>
54 
55 #if defined(CONFIG_PROC_FS)
56 #include <linux/proc_fs.h>
57 #endif
58 #ifdef CONFIG_KMOD
59 #include <linux/kmod.h>
60 #endif
61 
62 extern void set_device_ro(kdev_t dev,int flag);
63 
64 extern void *sys_call_table;
65 
66 extern struct timezone sys_tz;
67 extern int request_dma(unsigned int dmanr, char * deviceID);
68 extern void free_dma(unsigned int dmanr);
69 extern spinlock_t dma_spin_lock;
70 extern int panic_timeout;
71 
72 #ifdef CONFIG_MODVERSIONS
73 const struct module_symbol __export_Using_Versions
74 __attribute__((section("__ksymtab"))) = {
75 	1 /* Version version */, "Using_Versions"
76 };
77 #endif
78 
79 
80 EXPORT_SYMBOL(inter_module_register);
81 EXPORT_SYMBOL(inter_module_unregister);
82 EXPORT_SYMBOL(inter_module_get);
83 EXPORT_SYMBOL(inter_module_get_request);
84 EXPORT_SYMBOL(inter_module_put);
85 EXPORT_SYMBOL(try_inc_mod_count);
86 
87 /* process memory management */
88 EXPORT_SYMBOL(do_mmap_pgoff);
89 EXPORT_SYMBOL(do_munmap);
90 EXPORT_SYMBOL(do_brk);
91 EXPORT_SYMBOL(exit_mm);
92 EXPORT_SYMBOL(exit_files);
93 EXPORT_SYMBOL(exit_fs);
94 EXPORT_SYMBOL(exit_sighand);
95 
96 /* internal kernel memory management */
97 EXPORT_SYMBOL(_alloc_pages);
98 EXPORT_SYMBOL(__alloc_pages);
99 EXPORT_SYMBOL(alloc_pages_node);
100 EXPORT_SYMBOL(__get_free_pages);
101 EXPORT_SYMBOL(get_zeroed_page);
102 EXPORT_SYMBOL(__free_pages);
103 EXPORT_SYMBOL(free_pages);
104 EXPORT_SYMBOL(num_physpages);
105 EXPORT_SYMBOL(kmem_find_general_cachep);
106 EXPORT_SYMBOL(kmem_cache_create);
107 EXPORT_SYMBOL(kmem_cache_destroy);
108 EXPORT_SYMBOL(kmem_cache_shrink);
109 EXPORT_SYMBOL(kmem_cache_alloc);
110 EXPORT_SYMBOL(kmem_cache_free);
111 EXPORT_SYMBOL(kmem_cache_size);
112 EXPORT_SYMBOL(kmalloc);
113 EXPORT_SYMBOL(kfree);
114 EXPORT_SYMBOL(vfree);
115 EXPORT_SYMBOL(__vmalloc);
116 EXPORT_SYMBOL(vmap);
117 EXPORT_SYMBOL(vmalloc_to_page);
118 EXPORT_SYMBOL(mem_map);
119 EXPORT_SYMBOL(remap_page_range);
120 EXPORT_SYMBOL(max_mapnr);
121 EXPORT_SYMBOL(high_memory);
122 EXPORT_SYMBOL(vmtruncate);
123 EXPORT_SYMBOL(find_vma);
124 EXPORT_SYMBOL(get_unmapped_area);
125 EXPORT_SYMBOL(init_mm);
126 #ifdef CONFIG_HIGHMEM
127 EXPORT_SYMBOL(kmap_high);
128 EXPORT_SYMBOL(kunmap_high);
129 EXPORT_SYMBOL(highmem_start_page);
130 EXPORT_SYMBOL(create_bounce);
131 EXPORT_SYMBOL(kmap_prot);
132 EXPORT_SYMBOL(kmap_pte);
133 #endif
134 
135 /* filesystem internal functions */
136 EXPORT_SYMBOL(def_blk_fops);
137 EXPORT_SYMBOL(update_atime);
138 EXPORT_SYMBOL(get_fs_type);
139 EXPORT_SYMBOL(get_super);
140 EXPORT_SYMBOL(drop_super);
141 EXPORT_SYMBOL(getname);
142 EXPORT_SYMBOL(names_cachep);
143 EXPORT_SYMBOL(fput);
144 EXPORT_SYMBOL(fget);
145 EXPORT_SYMBOL(igrab);
146 EXPORT_SYMBOL(iunique);
147 EXPORT_SYMBOL(ilookup);
148 EXPORT_SYMBOL(iget4_locked);
149 EXPORT_SYMBOL(unlock_new_inode);
150 EXPORT_SYMBOL(iput);
151 EXPORT_SYMBOL(inode_init_once);
152 EXPORT_SYMBOL(__inode_init_once);
153 EXPORT_SYMBOL(force_delete);
154 EXPORT_SYMBOL(follow_up);
155 EXPORT_SYMBOL(follow_down);
156 EXPORT_SYMBOL(lookup_mnt);
157 EXPORT_SYMBOL(path_init);
158 EXPORT_SYMBOL(path_walk);
159 EXPORT_SYMBOL(path_lookup);
160 EXPORT_SYMBOL(path_release);
161 EXPORT_SYMBOL(__user_walk);
162 EXPORT_SYMBOL(lookup_one_len);
163 EXPORT_SYMBOL(lookup_hash);
164 EXPORT_SYMBOL(sys_close);
165 EXPORT_SYMBOL(dcache_lock);
166 EXPORT_SYMBOL(d_alloc_root);
167 EXPORT_SYMBOL(d_delete);
168 EXPORT_SYMBOL(dget_locked);
169 EXPORT_SYMBOL(d_validate);
170 EXPORT_SYMBOL(d_rehash);
171 EXPORT_SYMBOL(d_invalidate);	/* May be it will be better in dcache.h? */
172 EXPORT_SYMBOL(d_move);
173 EXPORT_SYMBOL(d_instantiate);
174 EXPORT_SYMBOL(d_alloc);
175 EXPORT_SYMBOL(d_lookup);
176 EXPORT_SYMBOL(__d_path);
177 EXPORT_SYMBOL(mark_buffer_dirty);
178 EXPORT_SYMBOL(set_buffer_async_io); /* for reiserfs_writepage */
179 EXPORT_SYMBOL(end_buffer_io_async);
180 EXPORT_SYMBOL(__mark_buffer_dirty);
181 EXPORT_SYMBOL(__mark_inode_dirty);
182 EXPORT_SYMBOL(fd_install);
183 EXPORT_SYMBOL(get_empty_filp);
184 EXPORT_SYMBOL(init_private_file);
185 EXPORT_SYMBOL(filp_open);
186 EXPORT_SYMBOL(filp_close);
187 EXPORT_SYMBOL(put_filp);
188 EXPORT_SYMBOL(files_lock);
189 EXPORT_SYMBOL(check_disk_change);
190 EXPORT_SYMBOL(__invalidate_buffers);
191 EXPORT_SYMBOL(invalidate_bdev);
192 EXPORT_SYMBOL(invalidate_inodes);
193 EXPORT_SYMBOL(invalidate_device);
194 EXPORT_SYMBOL(invalidate_inode_pages);
195 EXPORT_SYMBOL(truncate_inode_pages);
196 EXPORT_SYMBOL(fsync_dev);
197 EXPORT_SYMBOL(fsync_no_super);
198 EXPORT_SYMBOL(permission);
199 EXPORT_SYMBOL(vfs_permission);
200 EXPORT_SYMBOL(inode_setattr);
201 EXPORT_SYMBOL(inode_change_ok);
202 EXPORT_SYMBOL(write_inode_now);
203 EXPORT_SYMBOL(notify_change);
204 EXPORT_SYMBOL(set_blocksize);
205 EXPORT_SYMBOL(sb_set_blocksize);
206 EXPORT_SYMBOL(sb_min_blocksize);
207 EXPORT_SYMBOL(getblk);
208 EXPORT_SYMBOL(cdget);
209 EXPORT_SYMBOL(cdput);
210 EXPORT_SYMBOL(bdget);
211 EXPORT_SYMBOL(bdput);
212 EXPORT_SYMBOL(bread);
213 EXPORT_SYMBOL(__brelse);
214 EXPORT_SYMBOL(__bforget);
215 EXPORT_SYMBOL(ll_rw_block);
216 EXPORT_SYMBOL(submit_bh);
217 EXPORT_SYMBOL(unlock_buffer);
218 EXPORT_SYMBOL(__wait_on_buffer);
219 EXPORT_SYMBOL(___wait_on_page);
220 EXPORT_SYMBOL(generic_direct_IO);
221 EXPORT_SYMBOL(discard_bh_page);
222 EXPORT_SYMBOL(block_write_full_page);
223 EXPORT_SYMBOL(block_read_full_page);
224 EXPORT_SYMBOL(block_prepare_write);
225 EXPORT_SYMBOL(block_sync_page);
226 EXPORT_SYMBOL(generic_cont_expand);
227 EXPORT_SYMBOL(cont_prepare_write);
228 EXPORT_SYMBOL(generic_commit_write);
229 EXPORT_SYMBOL(block_truncate_page);
230 EXPORT_SYMBOL(generic_block_bmap);
231 EXPORT_SYMBOL(generic_file_read);
232 EXPORT_SYMBOL(do_generic_file_read);
233 EXPORT_SYMBOL(do_generic_file_write);
234 EXPORT_SYMBOL(do_generic_direct_read);
235 EXPORT_SYMBOL(do_generic_direct_write);
236 EXPORT_SYMBOL(generic_file_write);
237 EXPORT_SYMBOL(generic_file_mmap);
238 EXPORT_SYMBOL(generic_ro_fops);
239 EXPORT_SYMBOL(generic_buffer_fdatasync);
240 EXPORT_SYMBOL(page_hash_bits);
241 EXPORT_SYMBOL(page_hash_table);
242 EXPORT_SYMBOL(file_lock_list);
243 EXPORT_SYMBOL(locks_init_lock);
244 EXPORT_SYMBOL(locks_copy_lock);
245 EXPORT_SYMBOL(posix_lock_file);
246 EXPORT_SYMBOL(posix_test_lock);
247 EXPORT_SYMBOL(posix_block_lock);
248 EXPORT_SYMBOL(posix_unblock_lock);
249 EXPORT_SYMBOL(posix_locks_deadlock);
250 EXPORT_SYMBOL(locks_mandatory_area);
251 EXPORT_SYMBOL(dput);
252 EXPORT_SYMBOL(have_submounts);
253 EXPORT_SYMBOL(d_find_alias);
254 EXPORT_SYMBOL(d_prune_aliases);
255 EXPORT_SYMBOL(prune_dcache);
256 EXPORT_SYMBOL(shrink_dcache_sb);
257 EXPORT_SYMBOL(shrink_dcache_parent);
258 EXPORT_SYMBOL(find_inode_number);
259 EXPORT_SYMBOL(is_subdir);
260 EXPORT_SYMBOL(get_unused_fd);
261 EXPORT_SYMBOL(put_unused_fd);
262 EXPORT_SYMBOL(vfs_create);
263 EXPORT_SYMBOL(vfs_mkdir);
264 EXPORT_SYMBOL(vfs_mknod);
265 EXPORT_SYMBOL(vfs_symlink);
266 EXPORT_SYMBOL(vfs_link);
267 EXPORT_SYMBOL(vfs_rmdir);
268 EXPORT_SYMBOL(vfs_unlink);
269 EXPORT_SYMBOL(vfs_rename);
270 EXPORT_SYMBOL(vfs_statfs);
271 EXPORT_SYMBOL(generic_read_dir);
272 EXPORT_SYMBOL(generic_file_llseek);
273 EXPORT_SYMBOL(no_llseek);
274 EXPORT_SYMBOL(__pollwait);
275 EXPORT_SYMBOL(poll_freewait);
276 EXPORT_SYMBOL(ROOT_DEV);
277 EXPORT_SYMBOL(__find_get_page);
278 EXPORT_SYMBOL(__find_lock_page);
279 EXPORT_SYMBOL(find_trylock_page);
280 EXPORT_SYMBOL(find_or_create_page);
281 EXPORT_SYMBOL(grab_cache_page_nowait);
282 EXPORT_SYMBOL(read_cache_page);
283 EXPORT_SYMBOL(set_page_dirty);
284 EXPORT_SYMBOL(mark_page_accessed);
285 EXPORT_SYMBOL(vfs_readlink);
286 EXPORT_SYMBOL(vfs_follow_link);
287 EXPORT_SYMBOL(page_readlink);
288 EXPORT_SYMBOL(page_follow_link);
289 EXPORT_SYMBOL(page_symlink_inode_operations);
290 EXPORT_SYMBOL(block_symlink);
291 EXPORT_SYMBOL(vfs_readdir);
292 EXPORT_SYMBOL(__get_lease);
293 EXPORT_SYMBOL(lease_get_mtime);
294 EXPORT_SYMBOL(lock_may_read);
295 EXPORT_SYMBOL(lock_may_write);
296 EXPORT_SYMBOL(dcache_dir_open);
297 EXPORT_SYMBOL(dcache_dir_close);
298 EXPORT_SYMBOL(dcache_dir_lseek);
299 EXPORT_SYMBOL(dcache_dir_fsync);
300 EXPORT_SYMBOL(dcache_readdir);
301 EXPORT_SYMBOL(dcache_dir_ops);
302 
303 /* for stackable file systems (lofs, wrapfs, cryptfs, etc.) */
304 EXPORT_SYMBOL(default_llseek);
305 EXPORT_SYMBOL(dentry_open);
306 EXPORT_SYMBOL(filemap_nopage);
307 EXPORT_SYMBOL(filemap_sync);
308 EXPORT_SYMBOL(filemap_fdatawrite);
309 EXPORT_SYMBOL(filemap_fdatasync);
310 EXPORT_SYMBOL(filemap_fdatawait);
311 EXPORT_SYMBOL(lock_page);
312 EXPORT_SYMBOL(unlock_page);
313 EXPORT_SYMBOL(wakeup_page_waiters);
314 
315 /* device registration */
316 EXPORT_SYMBOL(register_chrdev);
317 EXPORT_SYMBOL(unregister_chrdev);
318 EXPORT_SYMBOL(register_blkdev);
319 EXPORT_SYMBOL(unregister_blkdev);
320 EXPORT_SYMBOL(tty_register_driver);
321 EXPORT_SYMBOL(tty_unregister_driver);
322 EXPORT_SYMBOL(tty_std_termios);
323 
324 /* block device driver support */
325 EXPORT_SYMBOL(blksize_size);
326 EXPORT_SYMBOL(hardsect_size);
327 EXPORT_SYMBOL(blk_size);
328 EXPORT_SYMBOL(blk_dev);
329 EXPORT_SYMBOL(is_read_only);
330 EXPORT_SYMBOL(set_device_ro);
331 EXPORT_SYMBOL(bmap);
332 EXPORT_SYMBOL(sync_dev);
333 EXPORT_SYMBOL(devfs_register_partitions);
334 EXPORT_SYMBOL(blkdev_open);
335 EXPORT_SYMBOL(blkdev_get);
336 EXPORT_SYMBOL(blkdev_put);
337 EXPORT_SYMBOL(ioctl_by_bdev);
338 EXPORT_SYMBOL(grok_partitions);
339 EXPORT_SYMBOL(register_disk);
340 EXPORT_SYMBOL(tq_disk);
341 EXPORT_SYMBOL(init_buffer);
342 EXPORT_SYMBOL(refile_buffer);
343 EXPORT_SYMBOL(max_sectors);
344 EXPORT_SYMBOL(max_readahead);
345 
346 /* tty routines */
347 EXPORT_SYMBOL(tty_hangup);
348 EXPORT_SYMBOL(tty_wait_until_sent);
349 EXPORT_SYMBOL(tty_check_change);
350 EXPORT_SYMBOL(tty_hung_up_p);
351 EXPORT_SYMBOL(tty_flip_buffer_push);
352 EXPORT_SYMBOL(tty_get_baud_rate);
353 EXPORT_SYMBOL(do_SAK);
354 
355 /* filesystem registration */
356 EXPORT_SYMBOL(register_filesystem);
357 EXPORT_SYMBOL(unregister_filesystem);
358 EXPORT_SYMBOL(kern_mount);
359 EXPORT_SYMBOL(__mntput);
360 EXPORT_SYMBOL(may_umount);
361 
362 /* executable format registration */
363 EXPORT_SYMBOL(register_binfmt);
364 EXPORT_SYMBOL(unregister_binfmt);
365 EXPORT_SYMBOL(search_binary_handler);
366 EXPORT_SYMBOL(prepare_binprm);
367 EXPORT_SYMBOL(compute_creds);
368 EXPORT_SYMBOL(remove_arg_zero);
369 EXPORT_SYMBOL(set_binfmt);
370 
371 /* sysctl table registration */
372 EXPORT_SYMBOL(register_sysctl_table);
373 EXPORT_SYMBOL(unregister_sysctl_table);
374 EXPORT_SYMBOL(sysctl_string);
375 EXPORT_SYMBOL(sysctl_intvec);
376 EXPORT_SYMBOL(sysctl_jiffies);
377 EXPORT_SYMBOL(proc_dostring);
378 EXPORT_SYMBOL(proc_dointvec);
379 EXPORT_SYMBOL(proc_dointvec_jiffies);
380 EXPORT_SYMBOL(proc_dointvec_minmax);
381 EXPORT_SYMBOL(proc_doulongvec_ms_jiffies_minmax);
382 EXPORT_SYMBOL(proc_doulongvec_minmax);
383 
384 /* interrupt handling */
385 EXPORT_SYMBOL(add_timer);
386 EXPORT_SYMBOL(del_timer);
387 EXPORT_SYMBOL(request_irq);
388 EXPORT_SYMBOL(free_irq);
389 #if !defined(CONFIG_IA64)	/* irq_stat is part of struct cpuinfo_ia64 */
390 EXPORT_SYMBOL(irq_stat);
391 #endif
392 
393 /* waitqueue handling */
394 EXPORT_SYMBOL(add_wait_queue);
395 EXPORT_SYMBOL(add_wait_queue_exclusive);
396 EXPORT_SYMBOL(remove_wait_queue);
397 
398 /* completion handling */
399 EXPORT_SYMBOL(wait_for_completion);
400 EXPORT_SYMBOL(complete);
401 
402 /* The notion of irq probe/assignment is foreign to S/390 */
403 
404 #if !defined(CONFIG_ARCH_S390)
405 EXPORT_SYMBOL(probe_irq_on);
406 EXPORT_SYMBOL(probe_irq_off);
407 #endif
408 
409 #ifdef CONFIG_SMP
410 EXPORT_SYMBOL(del_timer_sync);
411 #endif
412 EXPORT_SYMBOL(mod_timer);
413 EXPORT_SYMBOL(tq_timer);
414 EXPORT_SYMBOL(tq_immediate);
415 
416 #ifdef CONFIG_SMP
417 /* Various random spinlocks we want to export */
418 EXPORT_SYMBOL(tqueue_lock);
419 
420 /* Big-Reader lock implementation */
421 EXPORT_SYMBOL(__brlock_array);
422 #ifndef __BRLOCK_USE_ATOMICS
423 EXPORT_SYMBOL(__br_write_locks);
424 #endif
425 EXPORT_SYMBOL(__br_write_lock);
426 EXPORT_SYMBOL(__br_write_unlock);
427 #endif
428 
429 /* Kiobufs */
430 EXPORT_SYMBOL(alloc_kiovec);
431 EXPORT_SYMBOL(free_kiovec);
432 EXPORT_SYMBOL(expand_kiobuf);
433 
434 EXPORT_SYMBOL(map_user_kiobuf);
435 EXPORT_SYMBOL(unmap_kiobuf);
436 EXPORT_SYMBOL(lock_kiovec);
437 EXPORT_SYMBOL(unlock_kiovec);
438 EXPORT_SYMBOL(brw_kiovec);
439 EXPORT_SYMBOL(kiobuf_wait_for_io);
440 
441 /* dma handling */
442 EXPORT_SYMBOL(request_dma);
443 EXPORT_SYMBOL(free_dma);
444 EXPORT_SYMBOL(dma_spin_lock);
445 #ifdef HAVE_DISABLE_HLT
446 EXPORT_SYMBOL(disable_hlt);
447 EXPORT_SYMBOL(enable_hlt);
448 #endif
449 
450 /* resource handling */
451 EXPORT_SYMBOL(request_resource);
452 EXPORT_SYMBOL(release_resource);
453 EXPORT_SYMBOL(allocate_resource);
454 EXPORT_SYMBOL(check_resource);
455 EXPORT_SYMBOL(__request_region);
456 EXPORT_SYMBOL(__check_region);
457 EXPORT_SYMBOL(__release_region);
458 EXPORT_SYMBOL(ioport_resource);
459 EXPORT_SYMBOL(iomem_resource);
460 
461 /* process management */
462 EXPORT_SYMBOL(complete_and_exit);
463 EXPORT_SYMBOL(__wake_up);
464 EXPORT_SYMBOL(__wake_up_sync);
465 EXPORT_SYMBOL(wake_up_process);
466 EXPORT_SYMBOL(sleep_on);
467 EXPORT_SYMBOL(sleep_on_timeout);
468 EXPORT_SYMBOL(interruptible_sleep_on);
469 EXPORT_SYMBOL(interruptible_sleep_on_timeout);
470 EXPORT_SYMBOL(schedule);
471 EXPORT_SYMBOL(schedule_timeout);
472 #if CONFIG_SMP
473 EXPORT_SYMBOL(set_cpus_allowed);
474 #endif
475 EXPORT_SYMBOL(yield);
476 EXPORT_SYMBOL(__cond_resched);
477 EXPORT_SYMBOL(jiffies);
478 EXPORT_SYMBOL(xtime);
479 EXPORT_SYMBOL(do_gettimeofday);
480 EXPORT_SYMBOL(do_settimeofday);
481 
482 #if !defined(__ia64__)
483 EXPORT_SYMBOL(loops_per_jiffy);
484 #endif
485 
486 EXPORT_SYMBOL(kstat);
487 EXPORT_SYMBOL(nr_running);
488 
489 /* misc */
490 EXPORT_SYMBOL(panic);
491 EXPORT_SYMBOL(panic_notifier_list);
492 EXPORT_SYMBOL(panic_timeout);
493 EXPORT_SYMBOL(__out_of_line_bug);
494 EXPORT_SYMBOL(sprintf);
495 EXPORT_SYMBOL(snprintf);
496 EXPORT_SYMBOL(sscanf);
497 EXPORT_SYMBOL(vsprintf);
498 EXPORT_SYMBOL(vsnprintf);
499 EXPORT_SYMBOL(vsscanf);
500 EXPORT_SYMBOL(kdevname);
501 EXPORT_SYMBOL(bdevname);
502 EXPORT_SYMBOL(cdevname);
503 EXPORT_SYMBOL(simple_strtol);
504 EXPORT_SYMBOL(simple_strtoul);
505 EXPORT_SYMBOL(simple_strtoull);
506 EXPORT_SYMBOL(system_utsname);	/* UTS data */
507 EXPORT_SYMBOL(uts_sem);		/* UTS semaphore */
508 #ifndef __mips__
509 EXPORT_SYMBOL(sys_call_table);
510 #endif
511 EXPORT_SYMBOL(machine_restart);
512 EXPORT_SYMBOL(machine_halt);
513 EXPORT_SYMBOL(machine_power_off);
514 EXPORT_SYMBOL(_ctype);
515 EXPORT_SYMBOL(secure_tcp_sequence_number);
516 EXPORT_SYMBOL(get_random_bytes);
517 EXPORT_SYMBOL(securebits);
518 EXPORT_SYMBOL(cap_bset);
519 EXPORT_SYMBOL(reparent_to_init);
520 EXPORT_SYMBOL(daemonize);
521 EXPORT_SYMBOL(csum_partial); /* for networking and md */
522 EXPORT_SYMBOL(seq_escape);
523 EXPORT_SYMBOL(seq_printf);
524 EXPORT_SYMBOL(seq_open);
525 EXPORT_SYMBOL(seq_release);
526 EXPORT_SYMBOL(seq_read);
527 EXPORT_SYMBOL(seq_lseek);
528 EXPORT_SYMBOL(single_open);
529 EXPORT_SYMBOL(single_release);
530 EXPORT_SYMBOL(seq_release_private);
531 
532 /* Program loader interfaces */
533 EXPORT_SYMBOL(setup_arg_pages);
534 EXPORT_SYMBOL(copy_strings_kernel);
535 EXPORT_SYMBOL(do_execve);
536 EXPORT_SYMBOL(flush_old_exec);
537 EXPORT_SYMBOL(kernel_read);
538 EXPORT_SYMBOL(open_exec);
539 
540 /* Miscellaneous access points */
541 EXPORT_SYMBOL(si_meminfo);
542 
543 /* Added to make file system as module */
544 EXPORT_SYMBOL(sys_tz);
545 EXPORT_SYMBOL(file_fsync);
546 EXPORT_SYMBOL(fsync_buffers_list);
547 EXPORT_SYMBOL(clear_inode);
548 EXPORT_SYMBOL(___strtok);
549 EXPORT_SYMBOL(init_special_inode);
550 EXPORT_SYMBOL(read_ahead);
551 EXPORT_SYMBOL(get_hash_table);
552 EXPORT_SYMBOL(new_inode);
553 EXPORT_SYMBOL(insert_inode_hash);
554 EXPORT_SYMBOL(remove_inode_hash);
555 EXPORT_SYMBOL(buffer_insert_list);
556 EXPORT_SYMBOL(make_bad_inode);
557 EXPORT_SYMBOL(is_bad_inode);
558 EXPORT_SYMBOL(event);
559 EXPORT_SYMBOL(brw_page);
560 EXPORT_SYMBOL(__inode_dir_notify);
561 
562 #ifdef CONFIG_UID16
563 EXPORT_SYMBOL(overflowuid);
564 EXPORT_SYMBOL(overflowgid);
565 #endif
566 EXPORT_SYMBOL(fs_overflowuid);
567 EXPORT_SYMBOL(fs_overflowgid);
568 
569 /* all busmice */
570 EXPORT_SYMBOL(fasync_helper);
571 EXPORT_SYMBOL(kill_fasync);
572 
573 EXPORT_SYMBOL(disk_name);	/* for md.c */
574 
575 /* binfmt_aout */
576 EXPORT_SYMBOL(get_write_access);
577 
578 /* library functions */
579 EXPORT_SYMBOL(strnicmp);
580 EXPORT_SYMBOL(strspn);
581 EXPORT_SYMBOL(strsep);
582 
583 #ifdef CONFIG_CRC32
584 EXPORT_SYMBOL(crc32_le);
585 EXPORT_SYMBOL(crc32_be);
586 EXPORT_SYMBOL(bitreverse);
587 #endif
588 
589 #ifdef CONFIG_FW_LOADER
590 EXPORT_SYMBOL(release_firmware);
591 EXPORT_SYMBOL(request_firmware);
592 EXPORT_SYMBOL(request_firmware_nowait);
593 EXPORT_SYMBOL(register_firmware);
594 #endif
595 
596 /* software interrupts */
597 EXPORT_SYMBOL(tasklet_hi_vec);
598 EXPORT_SYMBOL(tasklet_vec);
599 EXPORT_SYMBOL(bh_task_vec);
600 EXPORT_SYMBOL(init_bh);
601 EXPORT_SYMBOL(remove_bh);
602 EXPORT_SYMBOL(tasklet_init);
603 EXPORT_SYMBOL(tasklet_kill);
604 EXPORT_SYMBOL(__run_task_queue);
605 EXPORT_SYMBOL(do_softirq);
606 EXPORT_SYMBOL(raise_softirq);
607 EXPORT_SYMBOL(cpu_raise_softirq);
608 EXPORT_SYMBOL(__tasklet_schedule);
609 EXPORT_SYMBOL(__tasklet_hi_schedule);
610 
611 /* init task, for moving kthread roots - ought to export a function ?? */
612 
613 EXPORT_SYMBOL(init_task_union);
614 
615 EXPORT_SYMBOL(tasklist_lock);
616 EXPORT_SYMBOL(pidhash);
617 EXPORT_SYMBOL(unshare_files);
618 
619 /* debug */
620 EXPORT_SYMBOL(dump_stack);
621 
622 /* To match ksyms with System.map */
623 extern const char _end[];
624 EXPORT_SYMBOL(_end);
625