Commit Graph

65 Commits

Author SHA1 Message Date
thorpej
fe551f0e64 Fix a bug in disksort_*() which caused non-optimal ordering when multiple
active partitions were on a single spindle.  Add a b_rawblkno member to
struct buf which contains the non-partition-relative block number to sort
by.
2000-02-07 20:16:47 +00:00
thorpej
dc59bc1db3 Update for sys/buf.h/disksort_*() changes. 2000-01-21 23:39:55 +00:00
bouyer
f6f9f8a965 Change DIOCEJECT to do what's needed to eject a device before the eject
command (unlock for sd and cd) if no other partitions are open, return
EBUSY otherwise. DIOCEJECT will have the old semantic if its argument is not
0. The old ioctl has been renamed to ODIOCEJECT for binary compatibility.
1999-02-08 16:33:16 +00:00
jonathan
0e1a83adc3 * Add defopt MCD_PROMISC for more conservative probes.
Before, the probe routine (mcd_find() would succeed even if the probe
  code thought it had a response,  but didn't recognize the ID-code byte.
  Now, only do the promiscuous match if  MCD_PROMISC is configured.
1998-06-23 03:26:18 +00:00
thorpej
5bc2217a49 Nuke __BROKEN_INDIRECT_CONFIG. 1998-06-09 07:24:55 +00:00
drochner
4429cca488 make it compile without BROKEN_INDIRECT_CONFIG 1998-01-14 12:14:41 +00:00
thorpej
06ce220790 Update for config changes. 1998-01-12 09:39:57 +00:00
fvdl
db0d6c4018 Add missing ; 1997-11-11 22:43:51 +00:00
thorpej
5c6445bc0d Don't panic if we fail to remap i/o or mem space in the attach function.
Instead, print a diagnostic and return.  (Some drivers do this already.)

Also, normalize the diagnostic message, and fix some places where the
printfs were getting ugly.
1997-10-20 18:43:03 +00:00
thorpej
29500b20c0 Make sure the i/o and/or mem addresses aren't wildcarded (i.e. -1) before
using the address in a bus_space_map() call.
1997-10-19 18:56:39 +00:00
thorpej
939e074dcc Implement DIOCGDEFLABEL. 1997-10-08 23:05:22 +00:00
thorpej
47fab5e3ae Make this compile again in light of recent changes to cdio.h 1997-06-14 08:55:14 +00:00
christos
ef8d40a999 Busify the driver (from perry). 1997-04-04 18:59:35 +00:00
mikel
697941357c Eliminate unsolicited spewage; PR #2108. 1996-11-05 07:17:23 +00:00
christos
86373f8cf9 backout kprintf changes 1996-10-13 01:37:04 +00:00
christos
58953408cb printf -> kprintf, sprintf -> ksprintf 1996-10-10 22:04:48 +00:00
mycroft
cec36bf8d5 Use intr.h. 1996-05-12 23:51:23 +00:00
christos
1c86bef3bc Fix gcc -Wall warnings. 1996-04-29 20:28:40 +00:00
cgd
51e85d07b9 update for addition of a machine-dependent cookie as the first argument
to isa_intr_{,dis}establish().
1996-04-11 22:27:59 +00:00
thorpej
6d9ea4cf59 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 00:43:52 +00:00
thorpej
919f6728ab Accept DIOCEJECT as a synonym for CDIOCEJECT. Implement DIOCLOCK
separately from CDIOCALLOW and CDIOCPREVENT, even though they perform
basically the same function (with a different interface XXX).
1996-01-30 18:28:02 +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
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
24a5e56396 Use an intermediate variable to shorten label initialization code. 1995-08-05 23:47:52 +00:00
cgd
880567e771 fix from Onno van der Linden for large-file read timeouts on double-speed
drives.  A different read command must be used on double-speed drives.
It boggles my mind that people could design hardware this stupid.
1995-07-10 01:27:24 +00:00
mycroft
9624704e02 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-05 02:32:53 +00:00
cgd
bc9de32349 make dump stubs consistent 1995-06-26 05:34:44 +00:00
mycroft
6bb0f284d0 Turn off some debugging code by default. 1995-04-27 01:46:47 +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
04e937dcbd Don't boundary check I/O to the `raw' partition. 1995-04-15 05:01:26 +00:00
mycroft
508897dfcc Insert a missing unlock. 1995-04-01 10:27:56 +00:00
mycroft
03e3548ec7 Change the locking protocol to match other drivers. 1995-04-01 08:45:33 +00:00
mycroft
5ef3b8b957 Always load the TOC. Turn off the TOC bit in the mode register so the busy
light goes off.
1995-04-01 08:40:11 +00:00
mycroft
aff93b44b4 Remove unused variable. 1995-03-27 21:44:11 +00:00
mycroft
657ddd6fde Remove a tiny bit of redundant code. 1995-03-27 18:08:34 +00:00
mycroft
0a3d4f358a It's not necessary to do a GETSTAT before each read. 1995-03-27 16:48:45 +00:00
mycroft
c61cb27f9c Small garbage collection, and turn off debugging info by default. 1995-03-27 16:04:07 +00:00
mycroft
306af9bd89 Largely rewritten by me, with some input from Dave Burgess. Implement most of
the CDIOC* calls correctly, improve performance by 10x when interrupts work,
and implement the same generic disk framework as other drivers.
Needs some more work.
1995-03-27 15:45:20 +00:00
cgd
3a7bbb1acd lip service to making ISA support machine-independent. This is the first
round: moving the drivers into a machine-independent directory.
Some drivers (e.g. fd.c) not moved because they use other pc features (e.g.
CMOS settings), and none of the non-driver files moved, because they're
still pretty much PC specific.  eventually (when other ports with ISA
busses really start using this code), more 'high-level' ISA support will
live here.
1995-01-29 07:36:54 +00:00
mycroft
b5cf1b5ddd Add interrupt sharing types. 1995-01-03 01:30:14 +00:00
mycroft
ca65f2ce5d Remove dkbad.h. 1994-12-14 15:17:22 +00:00
mycroft
35cdd801e6 Convert port, IRQ, and DRQ numbers to ints. 1994-11-18 21:57:40 +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
mycroft
9769a6a6f7 Various:
* Forget all cached info when opening a new disc.
* If the disc is removed, flush the buffer queue rather than stalling it.
* Set the default label after getting the disc size, and fill in the info
for RAW_PART also.
* Change another use of the unit number to a softc pointer.
* Use a dkdevice to hold the label and open partition masks.
* Force the partition offset to 0 for RAW_PART, regardless of the label.
* Nuke MCDPHYS() and MCDREADRAW; they had a silly bug that caused the code
to not work, and they aren't useful anyway.
Some other minor cleanup.
1994-10-28 23:39:59 +00:00
cgd
022ee8f7fe new RCS ID format. 1994-10-27 04:14:23 +00:00
cgd
49c34d3337 move arch dependence to archs. clean up a bit. deal with weird MAXPARTITONS. 1994-10-14 18:26:22 +00:00
mycroft
558c00c001 Fix spelling of `STEREO'. 1994-08-05 22:56:19 +00:00
mycroft
a17171c0a2 Add a missing splx() and increase the reset delay during probe, as suggested
by Juergen Keil.  Add a diagnostic message if the controller info is not what
we expect.
1994-08-03 08:57:59 +00:00
mycroft
a69dd750a2 b_un.b_addr -> b_data 1994-06-16 01:07:30 +00:00