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