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