Commit Graph

26 Commits

Author SHA1 Message Date
thorpej 3cd14f7597 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 02:00:30 +00:00
christos 5c32202b7e fix format in printf() 1996-03-16 23:28:33 +00:00
christos 03b701e393 Bring prototypes into scope and fix compiler warnings. 1996-03-14 19:44:30 +00:00
pk ba0eb7ea59 Use CPU-type macros. 1996-02-25 21:45:53 +00:00
thorpej 8a6ad45eed In fdcretry(), if we're not using implied seeks, set the state to DOSEEK
rather than SEEKCOMPLETE before retrying the operation.  If implied seeks
are being used, the state is set to DOIO (no change).  This is why I
couldn't reproduce the disk_unbusy() panic on my SS2; it uses implied
seeks.  Patch from John F. Woods <jfw@jfwhome.funhouse.com>
1996-02-10 18:37:36 +00:00
thorpej b97cbfb606 Implement DIOCLOCK. It's a no-op in this driver. 1996-01-30 18:31:05 +00:00
thorpej 353f4388fb Use a shutdownhook to make sure the drive motor is turned off
at halt/reboot time, as suggested by Perry Metzger.
1996-01-16 19:35:06 +00:00
thorpej 8a5504241e Three distinct changes:
- Better disklabel handling.  While a disklabel isn't used
	  in the driver, some versions of the OpenPROM insist on
	  one being present in order to boot from floppy.  These
	  changes provide a default label (in a way similar to how
	  the SCSI disk driver provides a default) so that a user
	  can more easily place the label on the disk.

	- Fix semi-bug in bootpath handling.  It appears as if the
	  bootpath can appear in a couple of formats: "/fd@0,0", which
	  is what bootpath_fake() creates on v0 proms and may be
	  passed by some v2 proms, and "/fd0" which is what the
	  v2 prom on my SS2 passes.  We now handle both formats.

	- Use a mountroot hook to eject the floppy and wait for
	  the user to insert a filesystem floppy if we're the boot/root
	  device.
1996-01-15 00:14:42 +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
pk 7430f70694 Return `no error' after ejecting; per Jason. 1996-01-11 21:18:40 +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
pk 0d1981416d Adapt to changed mapiodev() interface. 1995-12-11 12:43:14 +00:00
pk c7d1d39b3e dk_device => device in controller structure (noted by Jason Thorpe). 1995-11-11 21:12:50 +00:00
pk c4dc969b09 Point `bootdv' at the disk device instead of the controller (from Jason Thorpe). 1995-10-09 22:33:07 +00:00
pk 32c023995c Bring reset logic into interrupt state machine. 1995-10-03 17:32:12 +00:00
pk fb58a99a8f Fix some bogus calls to {read/write}disklabel(). 1995-10-02 21:04:45 +00:00
pk ffbae23b6e Set `bootdv' if booted from the floppy drive. 1995-08-18 10:30:16 +00:00
pk 9013a7a6e2 Add xxread/xxwrite. 1995-07-05 13:34:10 +00:00
pk 92414dd1c7 Use a different method to discriminate a 82077 from a 82072 (from Chris Torek);
using the NE7CMD_VERSION command is too unreliable.
1995-05-20 20:03:37 +00:00
pk ed9d5444a2 Really test # of status bytes. 1995-05-16 17:02:00 +00:00
pk 64f2d35a0f Do not report each pseudo-DMA overrun as a (soft) error.
Add a small heuristic to converge on an acceptable threshold value.
1995-04-25 14:44:44 +00:00
pk 785f352260 Do a probe in fdmatch() to guard against dumb PROMs. 1995-04-13 20:24:36 +00:00
mycroft d64b72d064 Fdclose --> fdclose 1995-04-10 07:01:31 +00:00
pk 8161907540 Add evcnt_attach(). 1995-04-07 19:46:13 +00:00
pk e6e777cf5d Reorganize to use fast interrupt handler. 1995-02-22 21:37:15 +00:00
pk 6d511104e2 Pilot sun4c floppy driver based on i386 version;
- same limitations as isa/fd.c: just read/write
  - in need of a fast interrupt handler
1995-02-17 20:28:32 +00:00