Commit Graph

87 Commits

Author SHA1 Message Date
cgd 79e0a8a2b9 update for addition of a machine-dependent cookie as the first argument
to isa_intr_{,dis}establish().
1996-04-11 22:15:08 +00:00
thorpej 82d914d090 New device attachment scheme:
- split softc size and match/attach out from cfdriver into
	  a new struct cfattach.

	- new "attach" directive for files.*.  May specify the name of
	  the cfattach structure, so that devices may be easily attached
	  to parents with different autoconfiguration semantics.
1996-03-17 01:26:49 +00:00
mycroft 7f1ba9f148 Update for changed DMA interface. 1996-03-04 04:01:03 +00:00
thorpej d586688437 In fdcretry(), set the state to DOSEEK rather than SEEKCOMPLETE before
retrying the operation.  Fixes disk_unbusy() imbalance and really seems
like the right thing to do in case it was the seek that failed.  Takes
care of PR #1985.  Patch from John F. Woods <jfw@jfwhome.funhouse.com>
1996-02-10 18:31:13 +00:00
thorpej 43b4486bb3 Balance calls to disk_busy() and disk_unbusy() properly to avoid
dk_busy < 0 panics.  Count seeks.
1996-01-12 00:19:29 +00:00
thorpej 5b39541e48 New generic disk framework. Highlights:
- New metrics handling.  Metrics are now kept in the new
	  `struct disk'.  Busy time is now stored as a timeval, and
	  transfer count in bytes.

	- Storage for disklabels is now dynamically allocated, so that
	  the size of the disk structure is not machine-dependent.

	- Several new functions for attaching and detaching disks, and
	  handling metrics calculation.

Old-style instrumentation is still supported in drivers that did it before.
However, old-style instrumentation is being deprecated, and will go away
once the userland utilities are updated for the new framework.

For usage and architectural details, see the forthcoming disk(9) manual
page.
1996-01-07 22:01:38 +00:00
perry 74e1e47aeb fixed my own pr 1758 -- the floppy drive motor was not being turned off
at halt time, especially if a floppy was mounted. Added a shutdown hook
to turn off the motor. Per a request by mycroft, the cookie from the hook
is saved in a new member I added to the fd_softc structure.
1995-12-28 15:48:57 +00:00
mycroft 3da4b2a160 The IST_* and IPL_* constants are not bus-specific; don't treat them as such.
Change splimp -> splnet in Ethernet, ARCnet, and FDDI drivers.
1995-12-24 02:29:35 +00:00
mycroft e11b690b80 Require drives 2 and 3 to be explicitly configured. 1995-08-21 06:56:14 +00:00
mycroft 7263209ce6 Make each disk and tape driver define its own read and write functions.
Deprecate rawread() and rawwrite() completely.  Remove d_strategy from cdevsw to
force the abstraction barrier.
1995-07-04 07:15:28 +00:00
cgd 2b71eae2c7 note that most of dev/ic's contents have changed names 1995-06-28 04:30:30 +00:00
cgd c8858650b0 DEBUG -> FD_DEBUG, so this thing doesn't spew when used with options DEBUG 1995-06-26 05:47:40 +00:00
cgd dd3e2df4a7 make dump stubs consistent. fix other piece of code to compile
properly with DEBUG; used bogus variable.
1995-06-26 05:20:40 +00:00
cgd 2e0e8fc49d use the machine-independent definitions for the mc146818.
wrap the various uses of the chip (including the uses of the NVRAM on it)
around the new defintions, structures, and functions specified in the header.
1995-05-04 19:39:08 +00:00
cgd 8a640328ed clean up several ISA device interfaces: autoconfiguration, header
inclusion, and interrupt configuration.  more work still needs to be done,
but it's getting better...
1995-04-17 12:06:30 +00:00
mycroft f8f99c94a1 Fdclose --> fdclose; no longer conflicts. 1995-04-10 04:18:14 +00:00
mycroft 4740006541 Oops. 1995-01-13 14:05:17 +00:00
mycroft 7bb384b66c Avoid some repeated multiplications. 1995-01-13 11:14:27 +00:00
mycroft c541b630fc Add a sc_bcount, similar to wd.c. 1995-01-13 10:35:58 +00:00
mycroft da7d74e3dc Fix typos. 1995-01-13 08:37:25 +00:00
mycroft ca84c10497 Only allow opening one density at a time. 1995-01-13 08:29:25 +00:00
mycroft 04a1fc8816 Change the way b_cylin and sc_track (now sc_cylin) are used slightly.
If transfer goes past end of disk, truncate it.
1995-01-13 07:57:01 +00:00
mycroft 93a0c4a258 Add interrupt sharing types. 1995-01-03 01:42:11 +00:00
mycroft ca65f2ce5d Remove dkbad.h. 1994-12-14 15:17:22 +00:00
mycroft 8e6f464987 fdclose -> Fdclose 1994-12-03 15:17:06 +00:00
mycroft 35cdd801e6 Convert port, IRQ, and DRQ numbers to ints. 1994-11-18 21:57:40 +00:00
mycroft 38420d7db1 Don't need cd_indirect. 1994-11-04 22:51:59 +00:00
mycroft b7acf321cd No longer needs icu.h. 1994-11-04 18:59:34 +00:00
mycroft 19fc9d55c8 *intr() arg does not need to be void*. 1994-11-03 23:23:38 +00:00
mycroft d23d1e83dc Use indirect config for subdevices, and add dkdrivers where missing. 1994-11-03 22:55:58 +00:00
cgd 6ac2bbfc35 be more careful with types, also pull in headers where necessary. 1994-10-30 21:43:03 +00:00
cgd 022ee8f7fe new RCS ID format. 1994-10-27 04:14:23 +00:00
mycroft cb4e5ecaa5 Print a single `soft error' message when an operation was retried and
eventually completed successfully.  Also fix fsbn numbers in diskerr() calls.
1994-10-20 04:46:17 +00:00
mycroft b2d8a64ebd Make another printf() #ifdef FD_DEBUG. 1994-10-20 03:38:13 +00:00
mycroft 872999d392 Make the verbose diagnostics #ifdef FD_DEBUG. 1994-10-20 00:52:23 +00:00
mycroft 70e27da16b Fix up some printfs and make them consistent. 1994-10-18 18:24:35 +00:00
mycroft 6990b98c64 Patch from Onno var der Linden to fix reading and writing of 360K floppies
in 1.2MB drives.
1994-07-31 01:20:52 +00:00
mycroft 3436a4a65b Remove DIOCSDINFO completely; disklabel(8) will deal. 1994-07-31 00:47:52 +00:00
mycroft b5ce4d0cdd Normalize label handling. 1994-07-26 19:36:06 +00:00
mycroft a69dd750a2 b_un.b_addr -> b_data 1994-06-16 01:07:30 +00:00
cgd a3307af1e6 remember, DDB isn't necessarily in if DIAGNOSTIC is on 1994-05-27 13:00:27 +00:00
mycroft 02ec14c597 Add dummy *dump() routines. 1994-05-11 09:49:17 +00:00
mycroft cb9d07da1e Add dummy fdsize(). 1994-05-11 09:31:42 +00:00
mycroft 8a37ad790c Remove now-bogus casts. 1994-05-05 07:48:20 +00:00
cgd a0a7429482 lots of changes: prototype migration, move lots of variables, definitions,
and structure elements around.  kill some unnecessary type and macro
definitions.  standardize clock handling.  More changes than you'd want.
1994-05-05 05:35:42 +00:00
mycroft 221b25fd9d Separate DMA functions. 1994-04-22 22:58:50 +00:00
mycroft cf78b04c1a Implement a simple `fairness' algorithm which doesn't cost too much in
performance.
1994-04-20 07:55:38 +00:00
mycroft 893be926ec Use TAILQ_*() to maintain the drive activation queues. 1994-04-20 07:23:52 +00:00
mycroft c1c9f5d037 Deal with 2.88MB disk drives, but pretend they are 1.44MB for now. 1994-04-09 02:57:14 +00:00
mycroft f9a7294e32 Get rid of the extra hop between fdcintr() and fdcstate(), and fdcretry()
doesn't need to return a value.
1994-04-08 18:51:19 +00:00