freebsd-nq/sys/conf/majors
Poul-Henning Kamp b0b0334878 Device megapatch 2/6:
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.
2004-02-21 20:29:52 +00:00

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