b0b0334878
This commit adds a couple of functions for pseudodrivers to use for implementing cloning in a manner we will be able to lock down (shortly). Basically what happens is that pseudo drivers get a way to ask for "give me the dev_t with this unit number" or alternatively "give me a dev_t with the lowest guaranteed free unit number" (there is unfortunately a lot of non-POLA in the exact numeric value of this number, just live with it for now) Managing the unit number space this way removes the need to use rman(9) to do so in the drivers this greatly simplifies the code in the drivers because even using rman(9) they still needed to manage their dev_t's anyway. I have taken the if_tun, if_tap, snp and nmdm drivers through the mill, partly because they (ab)used makedev(), but mostly because together they represent three different problems for device-cloning: if_tun and snp is the plain case: just give me a device. if_tap has two kinds of devices, with a flag for device type. nmdm has paired devices (ala pty) can you can clone either of them.
98 lines
3.8 KiB
Plaintext
98 lines
3.8 KiB
Plaintext
# $FreeBSD$
|
|
#
|
|
# This list is semi-obsoleted by DEVFS, but for now it still contains
|
|
# the current allocation of device major numbers.
|
|
#
|
|
# Unless very special circumstants demand otherwise, all device drivers
|
|
# are able to use a dynamically allocated major number. If the d_maj
|
|
# element of the cdevsw is uninitialized (preferred) or initialized to
|
|
# MAJOR_AUTO, this dynamic allocation will happen.
|
|
#
|
|
# NOTICE: FreeBSD does not use block major numbers anymore, you neither
|
|
# need to assign nor use a block major number for any device driver any
|
|
# more.
|
|
#
|
|
# The names marked with a '*' is belived to be allocated for code inside
|
|
# the CVS tree.
|
|
#
|
|
#maj name comments
|
|
0 *cn console
|
|
1 *ctty /dev/tty
|
|
2 *mm /dev/mem,kmem,etc
|
|
4 *geom GEOMetry
|
|
5 *pts pseudo tty "tty" half
|
|
6 *ptc pseudo tty "master" half
|
|
7 *log system log
|
|
19 *tw X-10 power interface
|
|
22 *fd (/dev/stdin etc)
|
|
30 *snd sound driver system
|
|
32 lkmc Loadable Kernel Module Controller
|
|
33 lkm assigned to Loadable Kernel Modules
|
|
34 lkm assigned to Loadable Kernel Modules
|
|
35 lkm assigned to Loadable Kernel Modules
|
|
36 lkm assigned to Loadable Kernel Modules
|
|
37 lkm assigned to Loadable Kernel Modules
|
|
38 lkm assigned to Loadable Kernel Modules
|
|
42 *cx Cronyx/Sigma serial adapter
|
|
43 vn vnode "disk" device (retired)
|
|
46 - -
|
|
54 OLDnic ISDN system
|
|
58 - Was dgb: Digiboard PC/Xe
|
|
62 worm SCSI "worm type"
|
|
64 ?? Talisman
|
|
66 labpc National Instruments LabPC
|
|
67 - was meteor Matrox Meteor video capture
|
|
70 crypto Device-independent crypto interface (from openbsd)
|
|
74 *ccd concatenated disk
|
|
76 scc IBM Smart Capture Card (ohashi@mickey.ai.kyutech.ac.jp)
|
|
77 cyy Cyclades Ye/PCI serial card
|
|
78 pci PCI bus
|
|
79 *ipl IP Filter
|
|
80 xdcp Assigned to Chris Ficklin <chris@serengeti.com>
|
|
83 can CAN16-2 CAN-PC Interface
|
|
84 dtfp Datum Time and Frequency processor (louie@UU.NET)
|
|
85 vesa VESA support device (j_mini@efn.org)
|
|
86 alog Industrial Computer Source AIO8-P driver (deprecated)
|
|
87 wfd ATAPI floppy client of "wd"
|
|
90 wst ATAPI tape client of "wd"
|
|
91 *vinum Volume manager
|
|
92 *bktr Bt848 video capture driver (hasty@star-gate.com)
|
|
93 *coda CODA filesystem.
|
|
96 altq alternate queueing (including cbq, red, wfq)
|
|
98 loe Loopback pseudo-ethernet (sbabkin@dcn.att.com)
|
|
99 ct Cronyx/Tau serial adaptor
|
|
115 dag University of Waikato DAG network capture boards
|
|
117 *acd ATAPI CDROM
|
|
119 *ast ATAPI tape
|
|
121 onew Dallas Semiconductor One-Wire bus <phk@freebsd.org>
|
|
124 ucdc USB Communication Class Driver <n_hibma>
|
|
125 digio Advantech PCI-1750 IO card jen@vulture.dmem.strath.ac.uk
|
|
126 sync Generic sync port support <phk>, <brian>
|
|
128 arla Arla (AFS-clone) driver
|
|
134 taupci Cronyx Tau-PCI card <vak@hanoi.cronyx.ru>
|
|
136 ipr Iprobe on-chip perf. counters (gallatin@freebsd.org)
|
|
137 nfp nFast PCI crypto accelerator (support@ncipher.com)
|
|
139 wanrouter Sangoma Technologies Inc. (al.feldman@sangoma.com)
|
|
141 pcdmx PCDMX theatre lighting controller
|
|
142 skip SKIP port (security/skip) control device
|
|
154 *asr Adaptec SCSI RAID <msmith@freebsd.org>
|
|
155 phone Quicknet PhoneJACK and LineJACK cards for VoIP <roger>
|
|
159 *ata ATA control device
|
|
161 swdoc Sitara networks watchdog device
|
|
163 - -
|
|
168 XXX used by pst in RELENG_4
|
|
170 pst Promise SuperTrak (uses 168 in RELENG_4)
|
|
171 mide LSI MegaRAID IDE (control device)
|
|
172 mided LSI MegaRAID IDE (disk device)
|
|
173 *devctl Devd control device <imp>
|
|
174 pciwd Berkshire Watchdog PCI <marcel@progressix.com>
|
|
180 nvidia NVIDIA (nvidiaN/nvidiactl) <mdodd>
|
|
181 casm HP/Compaq ProLiant Advanced Server Management <peter>
|
|
183 *smapi SMAPI BIOS interface <mdodd>
|
|
185 ce Cronyx Tau-32 E1 adapter <rik@cronyx.ru>
|
|
186 sx Specialix I/O8+ driver <frank@exit.com>
|
|
187 twa 3ware Apache ATA RAID (controller)
|
|
252 ?? entries from 200-252 are reserved for local use
|
|
254 internal Used internally by the kernel
|
|
255 bad_choice -1 is 255 which has magic meanings internally
|