cdev_log_init(1,log), /* 6: /dev/klog */ cdev_bpftun_init(NTUN,tun), /* 7: network tunnel */ cdev_disk_init(NSD,sd), /* 8: SCSI disk */ cdev_disk_init(NVND,vnd), /* 9: vnode disk driver */ cdev_fd_init(1,filedesc), /* 10: file descriptor pseudo-dev */ cdev_bpftun_init(NBPFILTER,bpf),/* 11: Berkeley packet filter */ cdev_tape_init(NST,st), /* 12: SCSI tape */ cdev_disk_init(NCD,cd), /* 13: SCSI CD-ROM */ cdev_ch_init(NCH,ch), /* 14: SCSI autochanger */ #if NZSTTY > 0 cdev_tty_init(NZSTTY,zs), /* 15: SCC 8530 serial port tty */ #else cdev_tty_init(NSCC,scc), /* 15: scc 8530 serial interface */ #endif cdev_lkm_init(NLKM,lkm), /* 16: loadable module driver */ cdev_lkm_dummy(), /* 17 */ cdev_lkm_dummy(), /* 18 */ cdev_lkm_dummy(), /* 19 */ cdev_lkm_dummy(), /* 20 */ cdev_lkm_dummy(), /* 21 */ cdev_lkm_dummy(), /* 22 */ #ifdef _PMAP_MAY_USE_PROM_CONSOLE cdev_tty_init(1,prom), /* 23: XXX prom console */ #else cdev_notdef(), /* 23 */ #endif cdev_audio_init(NAUDIO,audio), /* 24: generic audio I/O */ cdev_wsdisplay_init(NWSDISPLAY, wsdisplay), /* 25: frame buffers, etc. */ cdev_tty_init(NCOM,com), /* 26: ns16550 UART */ cdev_disk_init(NCCD,ccd), /* 27: concatenated disk driver */
cdev_mm_init(1, mm), /* 0: /dev/{null,mem,kmem,...} */ cdev_swap_init(1, sw), /* 1: /dev/drum (swap pseudo-device) */ cdev_cn_init(1, cn), /* 2: virtual console */ cdev_ctty_init(1,ctty), /* 3: controlling terminal */ #if defined(SHARK) && (NPC > 0) cdev_pc_init(1,pc), /* 4: PC console */ #elif (defined(OFWGENCFG) || defined(SHARK)) cdev_tty_init(NOFCONS,ofcons_), /* 4: Openfirmware console */ #else cdev_notdef(), /* 4: */ #endif cdev_log_init(1,log), /* 5: /dev/klog */ cdev_ptc_init(NPTY,ptc), /* 6: pseudo-tty master */ cdev_tty_init(NPTY,pts), /* 7: pseudo-tty slave */ cdev_lpt_init(NLPT,lpt), /* 8: parallel printer */ cdev_lkm_dummy(), /* 9: was qms */ cdev_lkm_dummy(), /* 10: was beep */ cdev_lkm_dummy(), /* 11: was kbd */ cdev_tty_init(NCOM,com), /* 12: serial port */ cdev_lkm_dummy(), /* 13: */ cdev_lkm_dummy(), /* 14: */ cdev_lkm_dummy(), /* 15: */ cdev_disk_init(NWD, wd), /* 16: ST506/ESDI/IDE disk */ cdev_lkm_dummy(), /* 17: was fd */ cdev_disk_init(NMD, md), /* 18: memory disk driver */ cdev_disk_init(NVND,vnd), /* 19: vnode disk driver */ cdev_lkm_dummy(), /* 20: */ cdev_disk_init(NCCD,ccd), /* 21: concatenated disk driver */ cdev_lkm_dummy(), /* 22: */ cdev_lkm_dummy(), /* 23: */ cdev_disk_init(NSD,sd), /* 24: SCSI disk */
cdev_notdef(), /* 102 */ cdev_notdef(), /* 103 */ cdev_notdef(), /* 104 */ cdev_bpftun_init(NBPFILTER,bpf),/* 105: packet filter */ cdev_notdef(), /* 106 */ #ifdef notyet cdev_bpp_init(NBPP,bpp), /* 107: on-board parallel port */ #else cdev_notdef(), #endif cdev_notdef(), /* 108 */ cdev_fb_init(NTCX,tcx), /* 109: /dev/tcx */ cdev_disk_init(NVND,vnd), /* 110: vnode disk driver */ cdev_bpftun_init(NTUN,tun), /* 111: network tunnel */ cdev_lkm_init(NLKM,lkm), /* 112: loadable module driver */ cdev_lkm_dummy(), /* 113 */ cdev_lkm_dummy(), /* 114 */ cdev_lkm_dummy(), /* 115 */ cdev_lkm_dummy(), /* 116 */ cdev_lkm_dummy(), /* 117 */ cdev_lkm_dummy(), /* 118 */ cdev_random_init(1,random), /* 119: random data source */ cdev_notdef(), /* 120 */ cdev_disk_init(NRAID,raid), /* 121: RAIDframe disk driver */ cdev_tty_init(NPCONS,pcons), /* 122: PROM console */ }; int nchrdev = sizeof(cdevsw) / sizeof(cdevsw[0]); int mem_no = 3; /* major device number of memory special file */ /*
#include "pppx.h" struct cdevsw cdevsw[] = { cdev_cn_init(1,cn), /* 0: virtual console */ cdev_ctty_init(1,ctty), /* 1: controlling terminal */ cdev_mm_init(1,mm), /* 2: /dev/{null,mem,kmem,...} */ cdev_disk_init(NWD,wd), /* 3: ST506/ESDI/IDE disk */ cdev_notdef(), /* 4 was /dev/drum */ cdev_tty_init(NPTY,pts), /* 5: pseudo-tty slave */ cdev_ptc_init(NPTY,ptc), /* 6: pseudo-tty master */ cdev_log_init(1,log), /* 7: /dev/klog */ cdev_tty_init(NCOM,com), /* 8: serial port */ cdev_notdef(), /* 9: floppy disk */ cdev_notdef(), /* 10 */ cdev_lkm_dummy(), /* 11: Sony CD-ROM */ cdev_notdef(), /* 12: frame buffers, etc. */ cdev_disk_init(NSD,sd), /* 13: SCSI disk */ cdev_tape_init(NST,st), /* 14: SCSI tape */ cdev_disk_init(NCD,cd), /* 15: SCSI CD-ROM */ cdev_lpt_init(NLPT,lpt), /* 16: parallel printer */ cdev_ch_init(NCH,ch), /* 17: SCSI autochanger */ cdev_notdef(), /* 18: was: concatenated disk driver */ cdev_notdef(), /* 19 */ cdev_uk_init(NUK,uk), /* 20: unknown SCSI */ cdev_notdef(), /* 21 */ cdev_fd_init(1,filedesc), /* 22: file descriptor pseudo-device */ cdev_bpf_init(NBPFILTER,bpf), /* 23: Berkeley packet filter */ cdev_notdef(), /* 24 */ #if 0 cdev_ocis_init(NPCMCIA,pcmcia), /* 25: PCMCIA Bus */
cdev_disk_init(NRD,rd), /* 18: ramdisk disk */ cdev_disk_init(NVND,vnd), /* 19: vnode disk */ cdev_tape_init(NST,st), /* 20: SCSI tape */ cdev_fd_init(1,filedesc), /* 21: file descriptor pseudo-dev */ cdev_bpf_init(NBPFILTER,bpf), /* 22: berkeley packet filter */ cdev_tun_init(NTUN,tun), /* 23: network tunnel */ cdev_lkm_init(NLKM,lkm), /* 24: loadable module driver */ cdev_notdef(), /* 25 */ cdev_notdef(), /* 26: XD disk */ cdev_notdef(), /* 27 */ cdev_notdef(), /* 28: lp */ cdev_notdef(), /* 29: lptwo */ cdev_mm_init(NVME,vme), /* 30: /dev/vme* */ cdev_notdef(), /* 31: old /dev/vmelX */ cdev_notdef(), /* 32: old /dev/vmesX */ cdev_lkm_dummy(), /* 33 */ cdev_lkm_dummy(), /* 34 */ cdev_lkm_dummy(), /* 35 */ cdev_lkm_dummy(), /* 36 */ cdev_lkm_dummy(), /* 37 */ cdev_lkm_dummy(), /* 38 */ cdev_pf_init(NPF,pf), /* 39: packet filter */ cdev_random_init(1,random), /* 40: random data source */ cdev_uk_init(NUK,uk), /* 41 */ cdev_notdef(), /* 42 */ cdev_ksyms_init(NKSYMS,ksyms), /* 43: Kernel symbols device */ cdev_ch_init(NCH,ch), /* 44: SCSI autochanger */ cdev_fuse_init(NFUSE,fuse), /* 45: fuse */ cdev_notdef(), /* 46 */ cdev_notdef(), /* 47 */ cdev_notdef(), /* 48 */
#else #define NSPKR 0 #endif struct cdevsw cdevsw[] = { cdev_cn_init(1,cn), /* 0: virtual console */ cdev_ctty_init(1,ctty), /* 1: controlling terminal */ cdev_mm_init(1,mm), /* 2: /dev/{null,mem,kmem,...} */ cdev_notdef(), /* 3 was /dev/drum */ cdev_tty_init(NPTY,pts), /* 4: pseudo-tty slave */ cdev_ptc_init(NPTY,ptc), /* 5: pseudo-tty master */ cdev_log_init(1,log), /* 6: /dev/klog */ cdev_fd_init(1,filedesc), /* 7: file descriptor pseudo-device */ cdev_ksyms_init(NKSYMS,ksyms), /* 8: Kernel symbols device */ cdev_lpt_init(NLPT,lpt), /* 9: parallel printer */ cdev_lkm_dummy(), /* 10: */ cdev_lkm_dummy(), /* 11: */ cdev_tty_init(NCOM,com), /* 12: serial port */ cdev_gpio_init(NGPIO,gpio), /* 13: GPIO interface */ cdev_notdef(), /* 14 was alternate serial port */ cdev_lkm_dummy(), /* 15: */ cdev_disk_init(NWD,wd), /* 16: ST506/ESDI/IDE disk */ cdev_lkm_dummy(), /* 17: */ cdev_disk_init(NRD,rd), /* 18: ram disk driver */ cdev_disk_init(NVND,vnd), /* 19: vnode disk driver */ cdev_lkm_dummy(), /* 20: */ cdev_notdef(), /* 21: was: concatenated disk driver */ cdev_bpf_init(NBPFILTER,bpf), /* 22: Berkeley packet filter */ cdev_lkm_dummy(), /* 23: */ cdev_disk_init(NSD,sd), /* 24: SCSI disk */ cdev_tape_init(NST,st), /* 25: SCSI tape */
cdev_notdef(), /* 11 was ITE */ cdev_tty_init(NZSTTY,zs), /* 12: 2 mac serial ports -- BG*/ cdev_disk_init(NSD,sd), /* 13: SCSI disk */ cdev_tape_init(NST,st), /* 14: SCSI tape */ cdev_disk_init(NCD,cd), /* 15: SCSI CD-ROM */ cdev_notdef(), /* 16 */ cdev_ch_init(NCH,ch), /* 17: SCSI autochanger */ cdev_disk_init(NRD,rd), /* 18: ramdisk device */ cdev_disk_init(NVND,vnd), /* 19: vnode disk driver */ cdev_notdef(), /* 20 */ cdev_fd_init(1,filedesc), /* 21: file descriptor pseudo-device */ cdev_bpf_init(NBPFILTER,bpf), /* 22: Berkeley packet filter */ cdev_notdef(), /* 23 was ADB */ cdev_tun_init(NTUN,tun), /* 24: network tunnel */ cdev_lkm_init(NLKM,lkm), /* 25: loadable module driver */ cdev_lkm_dummy(), /* 26 */ cdev_lkm_dummy(), /* 27 */ cdev_lkm_dummy(), /* 28 */ cdev_lkm_dummy(), /* 29 */ cdev_lkm_dummy(), /* 30 */ cdev_lkm_dummy(), /* 31 */ cdev_random_init(1,random), /* 32: random data source */ cdev_ss_init(NSS,ss), /* 33: SCSI scanner */ cdev_uk_init(NUK,uk), /* 34: SCSI unknown */ cdev_pf_init(NPF,pf), /* 35: packet filter */ cdev_audio_init(NASC,asc), /* 36: ASC audio device */ cdev_ksyms_init(NKSYMS,ksyms), /* 37: Kernel symbols device */ cdev_wsdisplay_init(NWSDISPLAY, wsdisplay), /* 38: displays */ cdev_mouse_init(NWSKBD, wskbd), /* 39: keyboards */ cdev_mouse_init(NWSMOUSE, wsmouse), /* 40: mice */ cdev_mouse_init(NWSMUX, wsmux), /* 41: ws multiplexor */
cdev_bpf_init(NBPFILTER,bpf), /* 22: berkeley packet filter */ cdev_tun_init(NTUN,tun), /* 23: network tunnel */ cdev_lkm_init(NLKM,lkm), /* 24: loadable module driver */ cdev_notdef(), /* 25 */ #ifdef notyet cdev_disk_init(NXD,xd), /* 26: XD disk */ #else cdev_notdef(), /* 26 */ #endif cdev_bio_init(NBIO,bio), /* 27: ioctl tunnel */ cdev_lp_init(NLP,lp), /* 28: lp */ cdev_lp_init(NLPTWO,lptwo), /* 29: lptwo */ cdev_tty_init(NWL,wl), /* 30: WG CL-CD2400 serial (ttywX) */ cdev_mdev_init(NVMEL,vmel), /* 31: /dev/vmelX */ cdev_mdev_init(NVMES,vmes), /* 32: /dev/vmesX */ cdev_lkm_dummy(), /* 33 */ cdev_lkm_dummy(), /* 34 */ cdev_lkm_dummy(), /* 35 */ cdev_lkm_dummy(), /* 36 */ cdev_lkm_dummy(), /* 37 */ cdev_lkm_dummy(), /* 38 */ cdev_pf_init(NPF,pf), /* 39: packet filter */ cdev_random_init(1,random), /* 40: random data source */ cdev_uk_init(NUK,uk), /* 41: unknown SCSI */ cdev_notdef(), /* 42 */ cdev_ksyms_init(NKSYMS,ksyms), /* 43: Kernel symbols device */ cdev_ch_init(NCH,ch), /* 44: SCSI autochanger */ cdev_lkm_dummy(), /* 45 */ cdev_lkm_dummy(), /* 46 */ cdev_lkm_dummy(), /* 47 */ cdev_lkm_dummy(), /* 48 */
cdev_tape_init(NST,st), /* 14: SCSI tape */ cdev_disk_init(NCD,cd), /* 15: SCSI CD-ROM */ cdev_notdef(), /* 16: */ cdev_ch_init(NCH,ch), /* 17: SCSI autochanger */ cdev_disk_init(NCCD,ccd), /* 18: concatenated disk driver */ cdev_scanner_init(NSS,ss), /* 19: SCSI scanner */ cdev_uk_init(NUK,uk), /* 20: SCSI unknown */ cdev_notdef(), /* 21 (was APM) */ cdev_fd_init(1,filedesc), /* 22: file descriptor pseudo-device */ cdev_bpftun_init(NBPFILTER,bpf),/* 23: Berkeley packet filter */ cdev_disk_init(NMD,md), /* 24: memory disk driver */ cdev_notdef(), /* 25 */ cdev_notdef(), /* 26 (was joystick) */ cdev_notdef(), /* 27 (was PC speaker) */ cdev_lkm_init(NLKM,lkm), /* 28: loadable module driver */ cdev_lkm_dummy(), /* 29 */ cdev_lkm_dummy(), /* 30 */ cdev_lkm_dummy(), /* 31 */ cdev_lkm_dummy(), /* 32 */ cdev_lkm_dummy(), /* 33 */ cdev_lkm_dummy(), /* 34 */ cdev_notdef(), /* 35 (was Microsoft mouse) */ cdev_notdef(), /* 36 (was Logitech mouse) */ cdev_notdef(), /* 37 (was PS/2 mouse) */ cdev_notdef(), /* 38 (was Cyclom serial port) */ cdev_notdef(), /* 39 (was Mitsumi CD-ROM) */ cdev_bpftun_init(NTUN,tun), /* 40: network tunnel */ cdev_disk_init(NVND,vnd), /* 41: vnode disk driver */ cdev_audio_init(NAUDIO,audio), /* 42: generic audio I/O */ cdev_notdef(), /* 43 */ cdev_ipf_init(NIPFILTER,ipl), /* 44: ip-filter device */
cdev_ptc_init(NPTY,ptc), /* 4: pseudo tty master */ cdev_log_init(1,log), /* 5: /dev/klog */ cdev_swap_init(1,sw), /* 6: /dev/drum pseudo device */ cdev_notdef(), /* 7: Openfirmware console */ cdev_notdef(), /* 8: Openfirmware disk */ cdev_notdef(), /* 9: Openfirmware RTC */ cdev_bpftun_init(NBPFILTER,bpf),/* 10: Berkeley packet filter */ cdev_bpftun_init(NTUN,tun), /* 11: network tunnel */ cdev_tty_init(NZSTTY,zs), /* 12: Zilog 8350 serial port */ cdev_disk_init(NSD,sd), /* 13: SCSI disk */ cdev_tape_init(NST,st), /* 14: SCSI tape */ cdev_disk_init(NCD,cd), /* 15: SCSI CD-ROM */ cdev_ch_init(NCH,ch), /* 16: SCSI autochanger */ cdev_scanner_init(NSS,ss), /* 17: SCSI scanners */ cdev_uk_init(NUK,uk), /* 18: SCSI unknown */ cdev_lkm_dummy(), /* 19: */ cdev_lkm_dummy(), /* 20: */ cdev_ipf_init(NIPFILTER,ipl), /* 21: ip-filter device */ cdev_tty_init(NITE,ite), /* 22: console terminal emulator */ cdev_fb_init(NGRF,grf), /* 23: frame buffer */ cdev_rnd_init(NRND,rnd), /* 24: random source pseudo-device */ cdev_disk_init(NVND,vnd), /* 25: vnode disk driver */ cdev_disk_init(NCCD,ccd), /* 26: concatenated disk driver */ cdev_disk_init(NMD,md), /* 27: memory disk driver */ cdev_mouse_init(NAED,aed), /* 28: ADB event interface */ cdev_lkm_dummy(), /* 29: */ cdev_disk_init(NWD,wd), /* 30: IDE disk driver */ cdev_lkm_init(NLKM,lkm), /* 31: loadable module driver */ cdev_fd_init(1,filedesc), /* 32: file descriptor pseudo-device */ cdev_mm_init(1,nvram), /* 33: nvram device */ cdev_scsibus_init(NSCSIBUS,scsibus), /* 34: SCSI bus */
cdev_disk_init(NCD,cd), /* 58: SCSI CD-ROM */ cdev_ch_init(NCH,ch), /* 59: SCSI autochanger */ cdev_scanner_init(NSS,ss), /* 60: SCSI scanner */ cdev_uk_init(NUK,uk), /* 61: SCSI unknown */ cdev_notdef(), /* 62: (taac) */ cdev_notdef(), /* 63: (tcp/tli) */ cdev_notdef(), /* 64: cgeight */ cdev_notdef(), /* 65: old IPI */ cdev_notdef(), /* 66: (mcp) parallel printer */ cdev_notdef(), /* 67: cgsix */ cdev_notdef(), /* 68: cgnine */ cdev_notdef(), /* 69: /dev/audio */ cdev_notdef(), /* 70: open prom */ cdev_notdef(), /* 71: (sg?) */ cdev_lkm_init(NLKM,lkm), /* 72: loadable module driver */ cdev_lkm_dummy(), /* 73 */ cdev_lkm_dummy(), /* 74 */ cdev_lkm_dummy(), /* 75 */ cdev_lkm_dummy(), /* 76 */ cdev_lkm_dummy(), /* 77 */ cdev_lkm_dummy(), /* 78 */ cdev_notdef(), /* 79 */ cdev_rnd_init(NRND,rnd), /* 80: random source pseudo-device */ cdev_scsibus_init(NSCSIBUS,scsibus), /* 81: SCSI bus */ cdev_disk_init(NRAID,raid), /* 82: RAIDframe disk driver */ cdev_svr4_net_init(NSVR4_NET,svr4_net), /* 83: svr4 net pseudo-device */ cdev_notdef(), /* 83 */ cdev_notdef(), /* 84 */ cdev_notdef(), /* 85 */ cdev_notdef(), /* 86 */ cdev_notdef(), /* 87 */
cdev_ch_init(NCH,ch), /* 13: SCSI changer */ cdev_ss_init(NSS,ss), /* 14: SCSI scanner */ cdev_uk_init(NUK,uk), /* 15: SCSI unknown */ cdev_fd_init(1,filedesc), /* 16: file descriptor pseudo-device */ cdev_bpftun_init(NBPFILTER,bpf),/* 17: Berkeley packet filter */ cdev_bpftun_init(NTUN,tun), /* 18: network tunnel */ cdev_lkm_init(NLKM,lkm), /* 19: loadable module driver */ cdev_random_init(1,random), /* 20: random generator */ cdev_gen_ipf(NIPF,ipl), /* 21: ip filtering */ cdev_wscons_init(NWSCONS,wscons), /* 22: workstation console */ cdev_tty_init(1,pdc), /* 23: PDC device */ cdev_tty_init(NCOM,com), /* 24: RS232 */ cdev_disk_init(NFD,fd), /* 25: floppy drive */ cdev_tape_init(NFT,ft), /* 26: floppy tape */ /* 27 */ cdev_lkm_dummy(), cdev_lkm_dummy(), cdev_lkm_dummy(), cdev_lkm_dummy(), cdev_lkm_dummy(), cdev_lkm_dummy(), }; int nchrdev = sizeof(cdevsw) / sizeof(cdevsw[0]); int mem_no = 2; /* major device number of memory special file */ /* * Swapdev is a fake device implemented * in sw.c used only internally to get to swstrategy. * It cannot be provided to the users, because the * swstrategy routine munches the b_dev and b_blkno entries