1
2
3
4
5
6
7
8
9
10
11
12 #include <linux/module.h>
13 #include <linux/config.h>
14 #include <linux/kernel.h>
15 #include <linux/fs.h>
16 #include <linux/blkdev.h>
17 #include <linux/sched.h>
18 #include <linux/kernel_stat.h>
19 #include <linux/mm.h>
20 #include <linux/malloc.h>
21 #include <linux/ptrace.h>
22 #include <linux/sys.h>
23 #include <linux/utsname.h>
24 #include <linux/interrupt.h>
25 #include <linux/ioport.h>
26 #include <linux/timer.h>
27 #include <linux/binfmts.h>
28 #include <linux/personality.h>
29 #include <linux/termios.h>
30 #include <linux/tqueue.h>
31 #include <linux/tty.h>
32 #include <linux/serial.h>
33 #include <linux/locks.h>
34 #include <linux/string.h>
35 #include <linux/delay.h>
36 #include <linux/sem.h>
37 #include <linux/minix_fs.h>
38 #include <linux/ext2_fs.h>
39 #include <linux/random.h>
40
41 extern unsigned char aux_device_present, kbd_read_mask;
42
43 #ifdef __alpha__
44 # include <asm/io.h>
45 # include <asm/hwrpb.h>
46
47 extern void bcopy (const char *src, char *dst, int len);
48 extern struct hwrpb_struct *hwrpb;
49
50
51 extern void __divl (void);
52 extern void __reml (void);
53 extern void __divq (void);
54 extern void __remq (void);
55 extern void __divlu (void);
56 extern void __remlu (void);
57 extern void __divqu (void);
58 extern void __remqu (void);
59
60 #endif
61
62 #ifdef CONFIG_NET
63 #include <linux/in.h>
64 #include <linux/net.h>
65 #include <linux/netdevice.h>
66 #include <linux/firewall.h>
67
68 #include <linux/trdevice.h>
69
70 #ifdef CONFIG_AX25
71 #include <net/ax25.h>
72 #endif
73 #ifdef CONFIG_INET
74 #include <linux/ip.h>
75 #include <linux/etherdevice.h>
76 #include <net/protocol.h>
77 #include <net/arp.h>
78 #include <net/ip.h>
79 #include <net/udp.h>
80 #include <net/tcp.h>
81 #include <net/route.h>
82 #if defined(CONFIG_PPP) || defined(CONFIG_SLIP)
83 #include "../drivers/net/slhc.h"
84 #endif
85 #endif
86 #ifdef CONFIG_NET_ALIAS
87 #include <linux/net_alias.h>
88 #endif
89 #endif
90 #ifdef CONFIG_PCI
91 #include <linux/bios32.h>
92 #include <linux/pci.h>
93 #endif
94 #if defined(CONFIG_MSDOS_FS) && !defined(CONFIG_UMSDOS_FS)
95 #include <linux/msdos_fs.h>
96 #endif
97
98 #if defined(CONFIG_PROC_FS)
99 #include <linux/proc_fs.h>
100 #endif
101
102 #include <asm/irq.h>
103 #ifdef __SMP__
104 #include <linux/smp.h>
105 #endif
106
107 extern char *get_options(char *str, int *ints);
108 extern void set_device_ro(int dev,int flag);
109 extern struct file_operations * get_blkfops(unsigned int);
110
111 extern void *sys_call_table;
112
113 #if defined(CONFIG_ULTRA) || defined(CONFIG_WD80x3) || \
114 defined(CONFIG_EL2) || defined(CONFIG_NE2000) || \
115 defined(CONFIG_E2100) || defined(CONFIG_HPLAN_PLUS) || \
116 defined(CONFIG_HPLAN) || defined(CONFIG_AC3200)
117 #include "../drivers/net/8390.h"
118 #endif
119
120 #ifdef CONFIG_SCSI
121 #include "../drivers/scsi/scsi.h"
122 #include "../drivers/scsi/scsi_ioctl.h"
123 #include "../drivers/scsi/hosts.h"
124 #include "../drivers/scsi/constants.h"
125 #include <linux/scsicam.h>
126
127 extern int generic_proc_info(char *, char **, off_t, int, int, int);
128 #endif
129
130 int (* dispatch_scsi_info_ptr) (int ino, char *buffer, char **start,
131 off_t offset, int length,
132 int inode, int func) = 0;
133
134 extern int sys_tz;
135 extern int request_dma(unsigned int dmanr, char * deviceID);
136 extern void free_dma(unsigned int dmanr);
137 extern int (*rarp_ioctl_hook)(int,void*);
138
139 extern void (* iABI_hook)(struct pt_regs * regs);
140
141 #ifdef CONFIG_BINFMT_ELF
142 #include <linux/elfcore.h>
143 extern int dump_fpu(elf_fpregset_t *);
144 #endif
145
146 struct symbol_table symbol_table = {
147 #include <linux/symtab_begin.h>
148 #ifdef MODVERSIONS
149 { (void *)1 ,
150 SYMBOL_NAME_STR (Using_Versions) },
151 #endif
152
153
154 #ifdef __alpha__
155 X(_inb),
156 X(_inw),
157 X(_inl),
158 X(_outb),
159 X(_outw),
160 X(_outl),
161 X(bcopy),
162 X(hwrpb),
163 X(__divl),
164 X(__reml),
165 X(__divq),
166 X(__remq),
167 X(__divlu),
168 X(__remlu),
169 X(__divqu),
170 X(__remqu),
171 X(strlen),
172 X(memcmp),
173 X(memmove),
174 X(__constant_c_memset),
175 #endif
176
177
178 X(rename_module_symbol),
179 X(register_symtab),
180 X(get_options),
181
182
183
184 #ifndef EISA_bus__is_a_macro
185 X(EISA_bus),
186 #endif
187 #ifndef MCA_bus__is_a_macro
188 X(MCA_bus),
189 #endif
190 #ifndef wp_works_ok__is_a_macro
191 X(wp_works_ok),
192 #endif
193
194 #ifdef CONFIG_PCI
195
196 X(pcibios_present),
197 X(pcibios_find_class),
198 X(pcibios_find_device),
199 X(pcibios_read_config_byte),
200 X(pcibios_read_config_word),
201 X(pcibios_read_config_dword),
202 X(pcibios_strerror),
203 X(pcibios_write_config_byte),
204 X(pcibios_write_config_word),
205 X(pcibios_write_config_dword),
206 #endif
207
208
209 X(verify_area),
210 X(do_mmap),
211 X(do_munmap),
212 X(insert_vm_struct),
213 X(merge_segments),
214
215
216 X(__get_free_pages),
217 X(free_pages),
218 X(kmalloc),
219 X(kfree),
220 X(vmalloc),
221 X(vremap),
222 X(vfree),
223 X(mem_map),
224 X(remap_page_range),
225 X(high_memory),
226
227
228 X(getname),
229 X(putname),
230 X(__iget),
231 X(iput),
232 X(namei),
233 X(lnamei),
234 X(open_namei),
235 X(close_fp),
236 X(check_disk_change),
237 X(invalidate_buffers),
238 X(invalidate_inodes),
239 X(fsync_dev),
240 X(permission),
241 X(inode_setattr),
242 X(inode_change_ok),
243 X(generic_mmap),
244 X(set_blocksize),
245 X(getblk),
246 X(bread),
247 X(breada),
248 X(__brelse),
249 X(__bforget),
250 X(ll_rw_block),
251 X(__wait_on_buffer),
252 X(dcache_lookup),
253 X(dcache_add),
254 X(aout_core_dump),
255 X(add_blkdev_randomness),
256
257
258 X(register_chrdev),
259 X(unregister_chrdev),
260 X(register_blkdev),
261 X(unregister_blkdev),
262 X(tty_register_driver),
263 X(tty_unregister_driver),
264 X(tty_std_termios),
265
266
267 X(block_read),
268 X(block_write),
269 X(block_fsync),
270 X(wait_for_request),
271 X(blksize_size),
272 X(hardsect_size),
273 X(blk_size),
274 X(blk_dev),
275 X(is_read_only),
276 X(set_device_ro),
277 X(bmap),
278 X(sync_dev),
279 X(get_blkfops),
280
281
282 X(register_serial),
283 X(unregister_serial),
284
285
286 X(tty_hangup),
287 X(tty_wait_until_sent),
288 X(tty_check_change),
289 X(tty_hung_up_p),
290 X(do_SAK),
291 X(console_print),
292
293
294 X(register_filesystem),
295 X(unregister_filesystem),
296
297
298 X(register_binfmt),
299 X(unregister_binfmt),
300
301
302 X(lookup_exec_domain),
303 X(register_exec_domain),
304 X(unregister_exec_domain),
305
306
307 X(request_irq),
308 X(free_irq),
309 X(enable_irq),
310 X(disable_irq),
311 X(probe_irq_on),
312 X(probe_irq_off),
313 X(bh_active),
314 X(bh_mask),
315 X(bh_base),
316 X(add_timer),
317 X(del_timer),
318 X(tq_timer),
319 X(tq_immediate),
320 X(tq_scheduler),
321 X(tq_last),
322 X(timer_active),
323 X(timer_table),
324 X(intr_count),
325
326
327 X(autoirq_setup),
328 X(autoirq_report),
329
330
331 X(request_dma),
332 X(free_dma),
333 #ifdef HAVE_DISABLE_HLT
334 X(disable_hlt),
335 X(enable_hlt),
336 #endif
337
338
339 X(check_region),
340 X(request_region),
341 X(release_region),
342
343
344 X(wake_up),
345 X(wake_up_interruptible),
346 X(sleep_on),
347 X(interruptible_sleep_on),
348 X(schedule),
349 X(current_set),
350 #if defined(__i386__) && defined(__SMP__)
351 X(apic_reg),
352 #endif
353 X(jiffies),
354 X(xtime),
355 X(do_gettimeofday),
356 X(loops_per_sec),
357 X(need_resched),
358 X(kstat),
359 X(kill_proc),
360 X(kill_pg),
361 X(kill_sl),
362
363
364 X(panic),
365 X(printk),
366 X(sprintf),
367 X(vsprintf),
368 X(kdevname),
369 X(simple_strtoul),
370 X(system_utsname),
371 X(sys_call_table),
372
373
374 X(send_sig),
375
376
377 X(setup_arg_pages),
378 X(copy_strings),
379 X(create_tables),
380 X(do_execve),
381 X(flush_old_exec),
382 X(open_inode),
383 X(read_exec),
384
385
386 X(si_meminfo),
387 #ifdef CONFIG_NET
388
389 X(sock_register),
390 X(sock_unregister),
391 #ifdef CONFIG_FIREWALL
392
393 X(register_firewall),
394 X(unregister_firewall),
395 #endif
396 #ifdef CONFIG_INET
397
398 X(inet_add_protocol),
399 X(inet_del_protocol),
400 X(rarp_ioctl_hook),
401 X(init_etherdev),
402 X(ip_rt_route),
403 X(ip_rt_put),
404 X(arp_send),
405 #ifdef CONFIG_IP_FORWARD
406 X(ip_forward),
407 #endif
408 #if defined(CONFIG_ULTRA) || defined(CONFIG_WD80x3) || \
409 defined(CONFIG_EL2) || defined(CONFIG_NE2000) || \
410 defined(CONFIG_E2100) || defined(CONFIG_HPLAN_PLUS) || \
411 defined(CONFIG_HPLAN) || defined(CONFIG_AC3200)
412
413 X(ei_open),
414 X(ei_close),
415 X(ei_debug),
416 X(ei_interrupt),
417 X(ethdev_init),
418 X(NS8390_init),
419 #endif
420 #if defined(CONFIG_PPP) || defined(CONFIG_SLIP)
421
422 X(slhc_init),
423 X(slhc_free),
424 X(slhc_remember),
425 X(slhc_compress),
426 X(slhc_uncompress),
427 X(slhc_toss),
428 #endif
429 #ifdef CONFIG_NET_ALIAS
430 #include <linux/net_alias.h>
431 #endif
432 #endif
433
434 X(register_netdevice_notifier),
435 X(unregister_netdevice_notifier),
436 #ifdef CONFIG_NET_ALIAS
437 X(register_net_alias_type),
438 X(unregister_net_alias_type),
439 #endif
440 #endif
441
442
443 #ifdef CONFIG_AX25
444 X(ax25_encapsulate),
445 X(ax25_rebuild_header),
446 #endif
447 #ifdef CONFIG_INET
448 X(register_netdev),
449 X(unregister_netdev),
450 X(ether_setup),
451 X(eth_type_trans),
452 X(eth_copy_and_sum),
453 X(alloc_skb),
454 X(kfree_skb),
455 X(dev_alloc_skb),
456 X(dev_kfree_skb),
457 X(netif_rx),
458 X(dev_rint),
459 X(dev_tint),
460 X(irq2dev_map),
461 X(dev_add_pack),
462 X(dev_remove_pack),
463 X(dev_get),
464 X(dev_ioctl),
465 X(dev_queue_xmit),
466 X(dev_base),
467 X(dev_close),
468 X(arp_find),
469 X(n_tty_ioctl),
470 X(tty_register_ldisc),
471 X(kill_fasync),
472 #endif
473 #ifdef CONFIG_SCSI
474
475
476
477
478
479
480
481 X(scsi_register_module),
482 X(scsi_unregister_module),
483 X(scsi_free),
484 X(scsi_malloc),
485 X(scsi_register),
486 X(scsi_unregister),
487 X(scsicam_bios_param),
488 X(allocate_device),
489 X(scsi_do_cmd),
490 X(scsi_command_size),
491 X(scsi_init_malloc),
492 X(scsi_init_free),
493 X(scsi_ioctl),
494 X(scsi_mark_host_bus_reset),
495 X(print_command),
496 X(print_msg),
497 X(print_status),
498 X(print_sense),
499 X(dma_free_sectors),
500 X(kernel_scsi_ioctl),
501 X(need_isa_buffer),
502 X(request_queueable),
503 X(dispatch_scsi_info_ptr),
504 X(generic_proc_info),
505 X(scsi_devices),
506 X(gendisk_head),
507 X(resetup_one_dev),
508 #if defined(CONFIG_PROC_FS)
509 X(proc_print_scsidevice),
510 #endif
511 #else
512
513
514
515
516 X(gendisk_head),
517 X(resetup_one_dev),
518 X(dispatch_scsi_info_ptr),
519 #endif
520
521 X(set_writetime),
522 X(sys_tz),
523 X(__wait_on_super),
524 X(file_fsync),
525 X(clear_inode),
526 X(refile_buffer),
527 X(___strtok),
528 X(init_fifo),
529 X(super_blocks),
530 X(chrdev_inode_operations),
531 X(blkdev_inode_operations),
532 X(read_ahead),
533 X(get_hash_table),
534 X(get_empty_inode),
535 X(insert_inode_hash),
536 X(event),
537 X(__down),
538 #if defined(CONFIG_MSDOS_FS) && !defined(CONFIG_UMSDOS_FS)
539
540 X(msdos_bmap),
541 X(msdos_create),
542 X(msdos_file_read),
543 X(msdos_file_write),
544 X(msdos_lookup),
545 X(msdos_mkdir),
546 X(msdos_mmap),
547 X(msdos_put_inode),
548 X(msdos_put_super),
549 X(msdos_read_inode),
550 X(msdos_read_super),
551 X(msdos_readdir),
552 X(msdos_rename),
553 X(msdos_rmdir),
554 X(msdos_smap),
555 X(msdos_statfs),
556 X(msdos_truncate),
557 X(msdos_unlink),
558 X(msdos_unlink_umsdos),
559 X(msdos_write_inode),
560 #endif
561 #ifdef CONFIG_PROC_FS
562 X(proc_register),
563 X(proc_unregister),
564 X(in_group_p),
565 X(generate_cluster),
566 X(proc_scsi),
567 X(proc_scsi_inode_operations),
568 X(proc_net_inode_operations),
569 X(proc_net),
570 #endif
571
572 X(add_mouse_randomness),
573 X(fasync_helper),
574
575 X(aux_device_present),
576 X(kbd_read_mask),
577
578 #ifdef CONFIG_TR
579 X(tr_setup),
580 X(tr_type_trans),
581 #endif
582
583 #ifdef CONFIG_BINFMT_ELF
584 X(dump_fpu),
585 #endif
586
587
588
589
590
591 #include <linux/symtab_end.h>
592 };
593
594
595
596