freebsd-skq/sys/dev
joerg b2bcdd0ab8 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
..
aac I missed a string concatenation. 2001-12-10 09:34:47 +00:00
acpica Disable sleep requests for 5 sec after wakeup. This is needed for 2001-12-09 18:02:36 +00:00
advansys Restore I/O port resources to the condition before adv_isa_probe() is 2001-05-06 09:28:18 +00:00
agp Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
aha Turn on interrupt-entropy harvesting for all/any mass storage devices 2001-03-01 17:09:09 +00:00
ahb Turn on interrupt-entropy harvesting for all/any mass storage devices 2001-03-01 17:09:09 +00:00
aic Migrate to PCMCIA_CARD() macros 2001-11-15 07:52:49 +00:00
aic7xxx Restore initialization of ahc->unpause lost in rev 1.76. ahc->unpause 2001-08-17 04:22:50 +00:00
amd Move unused functions into #if 0 ... #endif. 2001-05-06 08:07:10 +00:00
amr Comment tokens after #undef <macroname> and #endif. 2001-12-13 11:12:30 +00:00
an Minor style problem I introduced recently 2001-11-15 06:44:43 +00:00
ar Move the isa parts to a separate file. 2001-04-16 13:20:39 +00:00
asr Convert C++ style comments to proper C ones. 2001-12-13 23:48:34 +00:00
ata Adjust the timings for the SiS chips a bit, also add the SiS 645. 2001-12-14 21:28:49 +00:00
atkbdc Hack for the "out-of-sync" error. 2001-10-13 10:28:02 +00:00
awi Add NEWCARD support to awi. 2001-11-19 06:42:11 +00:00
bge Disabled input hardware checksum due to it being calculated incorrected 2001-12-14 22:04:58 +00:00
bktr o Add #include <sys/systm.h> to fix a warning about printf() being 2001-11-26 04:06:47 +00:00
buslogic Use ANSI C string contatenation instead of a multi-line string literal. 2001-12-13 11:14:28 +00:00
cardbus Add support for suspending/resuming CardBus bridges. 2001-12-15 05:58:28 +00:00
ccd Return EOPNOTSUPP for unknown module events. 2001-11-17 00:46:08 +00:00
ciss Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
cnw Use enumeration types for CARD_SET_RES_FLAGS. 2001-05-08 23:57:32 +00:00
cs Migrate to PCMCIA_CARD() macros 2001-11-15 07:52:49 +00:00
ct Added Logitec LHA-301 pnp id. 2001-10-09 15:30:19 +00:00
cy Call to cdevsw_add() no longer needed. 2001-11-04 08:49:51 +00:00
dc Patch up some existing style bugs and some that crept in with the 2001-12-15 02:51:21 +00:00
de No FreeBSD/vax here either. 2001-11-03 08:32:28 +00:00
dec Introduce a boot environment variable (clock_compat_osf1) which can 2001-11-03 17:22:50 +00:00
dgb Don't call cdevsw_add(). 2001-11-04 09:09:41 +00:00
digi - Fix a bunch of malloc calls where the M_FLAG is incorrectly used; it 2001-12-07 17:59:15 +00:00
dpt This file is a 2.2 vintage pre-CAM file of no current value. 2001-11-06 07:24:54 +00:00
ed Patch to allow the ed driver interrupt routine to terminate if the 2001-11-24 16:15:18 +00:00
eisa Unbreak EISA. The PCI-EISA bridge bus is named eisab', not isab'. 2001-02-09 16:33:53 +00:00
em Fixed two problems: 2001-12-06 17:50:21 +00:00
en
ep More devices. Obtained from NetBSD. 2001-11-15 07:57:38 +00:00
ex Mechanical change to use <sys/queue.h> macro API instead of 2001-02-04 13:13:25 +00:00
fb Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
fdc Long promised major enhancement set for the floppy disk driver: 2001-12-15 19:09:04 +00:00
fe Migrate to PCMCIA_CARD() macros 2001-11-15 07:52:49 +00:00
fxp Fix (again) some blatent style bugs in DEVICE_POLLING code. 2001-12-15 02:41:52 +00:00
gfb We need to operate on struct thread now, not struct proc. 2001-11-08 01:49:06 +00:00
gx Don't pass an interface pointer to VLAN_INPUT{,_TAG}. Get it from the 2001-12-03 17:28:27 +00:00
hea Fix typo: seperate -> separate. 2001-02-06 11:21:58 +00:00
hfa Applied the patch to fix HARP ATM that was broken when KAME IPv6 came 2001-06-20 17:09:14 +00:00
ic Moved the wd33c93 specific file to sys/dev/ic. 2001-06-14 11:05:48 +00:00
ichsmb Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
ida Fix a signed bug in the crashdump code for systems with > 2GB of ram. 2001-11-13 01:08:54 +00:00
ie Repo copy i82586.h to dev/ic/i82586.h. 2001-07-02 05:29:58 +00:00
iicbus Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
isp Explicitly decode GetAllNext SNS Response back *as* 2001-12-11 21:58:04 +00:00
ispfw Roll firmware to latest offerings... Fixes a number of f/w related 2001-12-13 00:09:06 +00:00
joy Split joystick driver into ISA and PC Card front ends. 2001-12-05 09:08:23 +00:00
kbd Refine ACPI/PnP BIOS probe/attach routines a bit. 2001-09-15 04:38:20 +00:00
lge Do not call mii_polltick() immediately after mii_tick(). 2001-09-29 19:31:29 +00:00
lmc Fix typo: seperate -> separate. 2001-02-06 11:21:58 +00:00
lnc - Don't overwrite inb, inw and outw. 2001-07-04 13:00:21 +00:00
mc146818
mca - Remove an unused write_ivars function that didn't do anything anyway. 2001-01-19 09:29:34 +00:00
mcd Don't call cdevsw_add(). 2001-11-04 08:58:22 +00:00
md Implement IO_NOWDRAIN and B_NOWDRAIN - prevents the buffer cache from blocking 2001-11-05 18:48:54 +00:00
mii Fix declaration disagreement. 2001-10-11 22:02:14 +00:00
mlx Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
mly Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
mse KSE Milestone 2 2001-09-12 08:38:13 +00:00
musycc Fix warnings: 2001-06-15 00:19:43 +00:00
ncv o Add KLD support for scsi_low. 2001-12-15 12:32:23 +00:00
nge Don't pass an interface pointer to VLAN_INPUT{,_TAG}. Get it from the 2001-12-03 17:28:27 +00:00
nmdm Don't call cdevsw_add(). 2001-11-04 15:55:17 +00:00
nsp o Add KLD support for scsi_low. 2001-12-15 12:32:23 +00:00
null Send the remains (such as I have located) of "block major numbers" to 2001-03-26 12:41:29 +00:00
ofw 1. Add ofw_pci.h with definitions for the OpenFirmware PCI bindings 2001-11-18 20:38:44 +00:00
pccard Add support for suspending/resuming CardBus bridges. 2001-12-15 05:58:28 +00:00
pccbb Add support for suspending/resuming CardBus bridges. 2001-12-15 05:58:28 +00:00
pcf Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
pci Experimental patch to try to properly clip the range of the memory 2001-11-26 07:12:35 +00:00
pcic Add PC-9821RA-E01. This appears that PC-9821 Ra20 has this either 2001-06-16 06:10:53 +00:00
pdq Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
ppbus Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
ppc Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
random o Modify open() and close() for /dev/random to use securelevel_gt() instead 2001-09-26 20:15:42 +00:00
ray Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
rc KSE Milestone 2 2001-09-12 08:38:13 +00:00
rp Force the RxBuf and TxBuf arrays to be aligned on 16-bit boundaries to 2001-11-05 12:57:46 +00:00
sbni Add driver for Granch SBNI12-xx ISA and PCI network adapters. 2001-11-21 22:29:35 +00:00
scd Don't call cdevsw_add() 2001-11-04 08:54:15 +00:00
sf Remove printf's on mbuf/cluster allocation failures. There are now 2001-12-14 05:56:35 +00:00
si KSE Milestone 2 2001-09-12 08:38:13 +00:00
sio Split the sio driver for pc98 into bus front end and back end. 2001-11-26 12:29:53 +00:00
sk Remove printf's on mbuf/cluster allocation failures. There are now 2001-12-14 05:56:35 +00:00
smbus SMBus support for the AMD 756 power management unit. See smbus(4), 2001-09-16 22:35:07 +00:00
sn Migrate to PCMCIA_CARD() macros 2001-11-15 07:52:49 +00:00
snc Convert if_multiaddrs from LIST to TAILQ so that it can be traversed 2001-02-06 10:12:15 +00:00
snp Check the return value of tsleep() in snpread(). This may be 2001-11-24 15:59:46 +00:00
sound Get rid of irritating (bogus) message: 2001-12-10 20:27:18 +00:00
speaker KSE Milestone 2 2001-09-12 08:38:13 +00:00
sr Fix clock selection for X.21 interfaces. 2001-02-26 16:30:02 +00:00
stg o Add KLD support for scsi_low. 2001-12-15 12:32:23 +00:00
streams cast dev_t to int in printf to fix warning. 2001-10-29 01:22:15 +00:00
sym Comment tokens after #undef <macroname> and #endif. 2001-12-13 11:12:30 +00:00
syscons Fix POLA - when selecting line into syscons' cut'n'paste buffer (double 2001-11-25 22:51:30 +00:00
tdfx KSE Milestone 2 2001-09-12 08:38:13 +00:00
tga Add the TGA video driver. This is a great accomplishtment and will help 2001-11-01 08:26:30 +00:00
ti Remove printf's on mbuf/cluster allocation failures. There are now 2001-12-14 05:56:35 +00:00
twe Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
tx Update tx(4) to always enable vlan(4) support. 2001-09-05 23:04:53 +00:00
txp Don't pass an interface pointer to VLAN_INPUT{,_TAG}. Get it from the 2001-12-03 17:28:27 +00:00
usb Add DIVA USB mp3 player. 2001-12-12 15:58:23 +00:00
vinum Don't call cdevsw_{add,remove}(). 2001-11-04 11:55:19 +00:00
vr Remove printf's on mbuf/cluster allocation failures. There are now 2001-12-14 05:56:35 +00:00
vx Quiet a variable format-string warning. 2001-07-19 02:16:24 +00:00
wds Turn on interrupt-entropy harvesting for all/any mass storage devices 2001-03-01 17:09:09 +00:00
wi Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
wl KSE Milestone 2 2001-09-12 08:38:13 +00:00
xe Add some seat belts. If we set the error rc, then return it and don't 2001-08-29 05:11:44 +00:00