1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-19 10:53:58 +00:00
freebsd/sys
Joerg Wunsch 1a6bed6863 Long promised major enhancement set for the floppy disk driver:
. The main device node now supports automatic density selection for
  commonly used media densities.  So you can stuff your 1.44 MB and
  720 KB media into your drive and just access /dev/fd0, no questions
  asked.  It's all that easy, isn't it? :)

. Device density handling has been completely overhauled.  The old way
  of hardwired kernel density knowledge is no longer there.  Instead,
  the kernel now implements 16 subdevices per drive.  The first
  subdevice uses automatic density selection, while the remaining 15
  devices are freely programmable.  They can be assigned an arbitrary
  name of the form /dev/fd[:digit]+.[:digit:]{1,4}, where the second
  number is meant to either implement device names that are mnemonic
  for their raw capacity (as it used to be), or they can alternatively
  be created as "anonymous" devices like fd0.1 through fd0.15,
  depending on the taste of the administrator.  After creating a
  subdevice, it is initialized to the maximal native density of the
  respective drive type, so it needs to be customized for other
  densities by using fdcontrol(8).  Pseudo-partition devices (fd0a
  through fd0h) are still supported as symlinks.

. The old hack to use flags 0x1 to always assume drive 0 were there is
  no longer supported; this is now supposed to be done by wiring the
  devices down from the loader via device flags.  On IA32
  architectures, the first two drives are looked up in the CMOS
  configuration records though.  On PCMCIA (i. e., the Y-E Data
  controller of the Toshiba Libretto), a single drive is always
  assumed.

. Other specialities like disabling the FIFO and not probing the drive
  at boot-time are selected by per-controller or per-drive flags, too.

. Unit attentions (media has been changed) are supposed to be detected
  now; density autoselection only occurs after a unit attention.  (Can
  be turned off by a per-drive flag, this will cause each Fdopen() to
  perform the autoselection.)

. FM floppies can be handled now (on controllers that actually support
  it -- not all do these days).

. Fdopen() can be told to avoid density selection by setting
  O_NONBLOCK; this leaves the descriptor in a half-opened state where
  only a few ioctls are accepted.  This is necessary to run fdformat
  on a device that uses automatic density selection (since you cannot
  autoselect on an unformatted medium, obviously).

. Just differentiate between a plain old NE765 and the enhanced chips,
  but don't try more; the existing code was wrong and only misdetected
  the chips anyway.

BUGS and TODOs:

. All documentation update still needs to be done.

. Formatting not-so-standard format yields unpredictable results; i
  have yet to figure out why this happens.  "Standard" formats like
  720 and 1440 KB do work, however.

. rc scripts are needed to setup device nodes with nonstandard
  densities (like the old /dev/fdN.MMM we used to have).

. Obtaining device flags from the kernel environment doesn't work yet,
  thus currently only drives that are present in (IA32) CMOS are
  really detected.  Someone who knows the odds and ends about device
  flags is needed here, i can't figure out what i'm doing wrong.

. 2.88 MB still needs to be done.
2001-12-15 19:09:04 +00:00
..
alpha Enable UFS_DIRHASH in the GENERIC kernel. 2001-12-14 16:27:11 +00:00
amd64 Device Polling code for -current. 2001-12-14 17:56:12 +00:00
arm We need machine/{signal,ucontext}.h to build a cross GCC compiler. 2001-12-09 19:39:49 +00:00
boot mdoc(7) police: remove hard sentence break which I didn't 2001-12-14 09:06:11 +00:00
cam o Add KLD support for scsi_low. 2001-12-15 12:32:23 +00:00
coda Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
compat Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
conf Add description of DEVICE_POLLING option. 2001-12-14 23:35:33 +00:00
contrib Fix initialisation of struct nat entry, to solve a panic that occurs 2001-12-05 10:46:24 +00:00
crypto fixed the cast128 calculation with a short cipher key length. 2001-11-27 14:11:47 +00:00
ddb Implement a "kill" DDB command which is an interface to psignal() that 2001-11-27 19:56:28 +00:00
dev Long promised major enhancement set for the floppy disk driver: 2001-12-15 19:09:04 +00:00
fs Add module dependency on libmchain. 2001-12-13 13:08:34 +00:00
geom Return EOPNOTSUPP for unknown module events. 2001-11-17 00:46:08 +00:00
gnu Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
i4b Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
i386 Add description of DEVICE_POLLING option. 2001-12-14 23:35:33 +00:00
ia64 Enable UFS_DIRHASH in the GENERIC kernel. 2001-12-14 16:27:11 +00:00
isa Long promised major enhancement set for the floppy disk driver: 2001-12-15 19:09:04 +00:00
isofs/cd9660 Fix mounting root from a ISO9660 filesystem on a SCSI CDROM. 2001-11-27 03:55:43 +00:00
kern Fix some nits in fork_exit() so it more properly duplicates the backend 2001-12-14 23:37:35 +00:00
libkern rcsid[]->__FBSDID 2001-11-07 19:55:16 +00:00
modules Add modules of scsi_low based SCSI drivers ncv, nsp, stg, and common 2001-12-15 12:44:38 +00:00
net Make bpf's read timeout feature work more correctly with 2001-12-14 22:17:54 +00:00
netatalk Give struct socket structures a ref counting interface similar to 2001-11-17 03:07:11 +00:00
netatm Give struct socket structures a ref counting interface similar to 2001-11-17 03:07:11 +00:00
netgraph Add support for 56 bit MPPE encryption. 2001-12-15 02:07:32 +00:00
netinet o Add IPOPT_ESO for the 'Extended Security' IP option (RFC1108) 2001-12-14 19:37:32 +00:00
netinet6 Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
netipx Give struct socket structures a ref counting interface similar to 2001-11-17 03:07:11 +00:00
netkey Newer SA is prefered for a out-bound packet than old one 2001-12-05 05:40:49 +00:00
netnatm Give struct socket structures a ref counting interface similar to 2001-11-17 03:07:11 +00:00
netncp Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
netns Give struct socket structures a ref counting interface similar to 2001-11-17 03:07:11 +00:00
netsmb Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
nfs
nfsclient This fixes a large number of bugs in our NFS client side code. A recent 2001-12-14 01:16:57 +00:00
nfsserver When VOP_SYMLINK fails, the value of *vpp is junk, so we must NULL 2001-12-04 16:53:42 +00:00
pc98 Enable UFS_DIRHASH in the GENERIC kernel. 2001-12-14 16:27:11 +00:00
pccard Better error message when cardtype is not recognized 2001-11-13 06:46:19 +00:00
pci Patch up some existing style bugs and some that crept in with the 2001-12-15 02:51:21 +00:00
posix4
powerpc Overhaul the per-CPU support a bit: 2001-12-11 23:33:44 +00:00
rpc
security/lomac Split out NAI Labs license and BSD license to prevent the accidental 2001-12-03 00:21:18 +00:00
sparc64 Overhaul the per-CPU support a bit: 2001-12-11 23:33:44 +00:00
svr4
sys Long promised major enhancement set for the floppy disk driver: 2001-12-15 19:09:04 +00:00
tools Move from using PCCARD_ symbols gereated from this file to using PCMCIA_ 2001-11-11 20:15:06 +00:00
ufs Minimize the time necessary to suspend operations on a filesystem 2001-12-14 00:15:06 +00:00
vm This fixes a large number of bugs in our NFS client side code. A recent 2001-12-14 01:16:57 +00:00
Makefile