FLOPPY(4) BSD Programmer's Manual FLOPPY(4)NAME
fd, floppy - floppy disk driver
SYNOPSIS
fdc0 at isa? port 0x3f0 drq 2 [flags val]
fd0 at fdc0 drive 0
DESCRIPTION
This is a driver for PC standard floppy disks. It uses a block of 8 I/O
ports which must be aligned on an 8 port boundary. The controller also
uses one 8 bit DMA channel. The hardware interrupt level is detected
during autoconfiguration.
The type of each drive may be specified in the non-volatile CMOS memory
area, using the BIOS `setup' feature, or may be defined by the flags pa-
rameter. The `setup' feature is normally accessed by pressing the `DEL'
or `Delete' key during memory testing at power-on time.
Bits 0x0f of the flags parameter define the drive type for drive 0, and
bits 0xf0 define the type for drive 1. High order bits apply to the con-
troller, not to a specific drive. The flags value defaults to 0. The
types that may be defined in the flags field are:
0 Use type defined in CMOS
1 360K DD 5.25" drive
2 1.2M HD 5.25" drive
3 720K DD 3.5" drive
4 1.44M HD 3.5" drive
6 2.88M HD 3.5" drive (treated as 1.44M)
0x100 Disable the APM aware support for the floppy drive. The
floppy controller was made APM aware in BSD/OS version 4.0.
Some notebooks cannot correctly resume without disabling
this code. In post 4.0.x the code is not enabled by default
and this flag is a no-op.
0x200 Enable the APM aware support for the floppy drive. This
flag is a no-op in 4.0.x and only applies to later versions.
If drive 0 is not defined by either the flags or by the CMOS it defaults
to type 4 (1.44M).
The fd, driver supports low and high density 5.25 and 3.5 inch drives.
The driver normally automatically detects the density of the media at
open time. The density may be forced to a specific value by using an al-
ternate minor device number.
The encoding of the minor device number is similar to the encoding for
hard disk devices with one addition. As with hard disks, the least-sig-
nificant three bits of the minor device number specify a partition (`a'
through `h'), and the next two bits specify the drive number. The most-
significant three bits of the eight-bit minor device number specify the
drive and media type. A value of zero indicates the use of automatic
density detection, defaulting to the drive's highest density. The densi-
ty values depend both on the type of drive and the diskette type. The
current density values are as follows, shown as the unshifted value for
the field followed by the shifted number for the `c' partition of drive
0. The device names are the conventional names for the raw devices in
the /dev directory.
value drive type media device name
0/0-7 any any rfd[0-1][a-h]
1/34 360K 5.25 360K
2/66 1.2M 5.25 1.2M rfd[0-1]_1200_5.25
3/98 720K 3.5 720K
4/130 1.44M 3.5 1.44M rfd[0-1]_1440_3.5
5/162 1.2M 5.25 720K rfd[0-1]_720_5.25
6/194 1.2M 5.25 360K rfd[0-1]_360_5.25
7/226 1.44M 3.5 720K rfd[0-1]_720_3.5
The floppy disk driver provides both a block device interface and a raw
device interface. The block device is used when mounting a file system
on a floppy disk, and the raw device is used for all other purposes.
Normally floppy disks are used without disk labels using the raw parti-
tion, for example /dev/rfd0c. However, if a disk label is present, it
will be observed.
Floppies may be formatted with the command fdformat(1).
FILES
/dev/fd[0-1][a-h] block files
/dev/rfd[0-1][a-h] raw files
SEE ALSOfdformat(1), disksetup(8)HISTORY
The fd, driver first appeared in Berkeley Networking-2.
BUGS
The current driver supports only one floppy disk controller and two
drives.
BSDI BSD/OS February 2, 1995 2