bouyer
702b60b0c1
Add a map to wdc_softc to track the already known devices to prevent them to
...
be probed several times. This fixes the "ATAPI CD probed as wd drive" problem.
Thanks to Geoff Wing <mason@primenet.com.au> for testing this on his hardware.
1997-09-03 07:57:51 +00:00
bouyer
6f3bab1f59
Merge scsipi branch in the mainline. This add support for ATAPI devices
...
(currently only CD-ROM drives on i386). The sys/dev/scsipi system provides 2
busses to which devices can attach (scsibus and atapibus). This needed to
change some include files and structure names in the low level scsi drivers.
1997-08-27 11:22:52 +00:00
fvdl
3dd82f1394
Work around possible race condition with 2 drives on one controller
...
in wd_get_parms. PR 3773, from Onno van der Linden (onno@simplex.nl )
1997-07-18 00:26:22 +00:00
jtk
26414c7820
use locator defines in "locators.h" to index cf_loc[]
...
still to be done and/or decided not to be done: replace all *UNK uses in
isa code with the native names from locators.h
1997-07-17 00:58:48 +00:00
thorpej
efde490942
foosize()'s return value is in DEV_BSIZE units; adjust the size obtained
...
from the disklabel accordingly.
1997-06-24 00:20:44 +00:00
pk
5d4e140e53
Remove spurious line left over in previous commit.
1997-06-18 22:17:14 +00:00
pk
f5bf0d3701
wdsize(): only call wdopen()/wdclose() if not already open, per the
...
current `openmask'.
1997-06-18 20:39:55 +00:00
thorpej
11e78a6b0d
Pull thorpej-bus-dma branch into mainline.
1997-06-06 23:43:45 +00:00
perry
8852c180ef
Fixes to wd driver from cgd -- corrects several nasty bugs typically
...
associated with coming out of suspends/sleeps on laptops.
Approved by fvdl.
1997-01-17 20:45:29 +00:00
thorpej
3b4e2a1ac9
In wdattach(), when printing out info about the drive, make the output
...
look a little more like a SCSI disk's. This has the pleasant side-effect
of preventing the output from annoyingly extending past 80 columns.
1996-11-27 10:50:39 +00:00
mikel
af29f79ed4
Fix WDDEBUG code; PR kern/1480.
1996-11-07 05:23:07 +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
cgd
2a73ef60b7
change cfprint_t type definition to take a const char *, rather than
...
a char *, because that's what was really intended, and because
if the print function modifies the string, various things could become
unhappy (so the string should _not_ be modified).
1996-08-27 21:53:46 +00:00
mycroft
cec36bf8d5
Use intr.h.
1996-05-12 23:51:23 +00:00
christos
27292adc4c
- gcc -Wall fixes
1996-04-29 19:50:47 +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
de7c200585
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:53:54 +00:00
mycroft
546ad9e88b
Add support to the ISA DMA framework for auto-initialize mode.
...
Add experimental SB16 code, disabled for now.
1996-03-01 04:08:13 +00:00
mycroft
3441f118d5
Make sure we disk_busy() for every transfer we start.
1996-01-08 21:21:56 +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
82b6eec41c
Use an intermediate variable to shorten label initialization code.
...
Make wddump() work on more machines.
1995-08-05 23:50:23 +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
2a8d6461a8
implement new-style block device dump routine if __BDEVSW_DUMP_OLD_TYPE
...
not defined, otherwise use an "not implemented" stub.
1995-06-26 05:16:55 +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
68c8c80929
kernel_pmap --> pmap_kernel()
1995-04-10 16:48:27 +00:00
mycroft
7e2dabf972
Add a missing unlock.
1995-04-01 10:29:41 +00:00
mycroft
e17c63cee6
Revamp the locking mechanism slightly. Update some outdated comments, and add
...
a few new ones.
1995-03-29 23:36:27 +00:00
mycroft
b51403f60d
Remove the write protect check altogether, and rely on the drive to do it.
1995-03-25 19:45:18 +00:00
mycroft
06d0a67a07
Check for read-only media in open(), not write().
1995-03-23 12:11:07 +00:00
mycroft
02df08a47e
Allow DIOCWDINFO even if label is not `writable'.
1995-03-23 11:33:18 +00:00
cgd
2c0f263ee7
use wdc_softc in wdccd, rather than wd_softc; from chuck cranor. (pr 828)
1995-02-27 01:08:01 +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
1e5cd9212d
(Almost) allow sector sizes other than 512 bytes. Reduce some expensive operations.
1995-01-13 12:30:59 +00:00
mycroft
7650bd97fc
Always boundary check I/O.
1995-01-13 10:46:32 +00:00
mycroft
0033c975c6
Fix another bug in the DMA code.
1995-01-13 10:22:58 +00:00
mycroft
4abdb375bc
Minor rearrangement.
1995-01-13 09:40:21 +00:00
mycroft
c2bc310a37
Change the way sc_skip is used. Fix a bug in the (incomplete) DMA code. Add a
...
new sc_blkno (which will be useful later).
1995-01-13 08:58:16 +00:00
mycroft
d4f91d51a9
Fix a race condition between normal I/O and wd_get_parms().
1995-01-07 03:07:22 +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
211b002017
Ignore ERR during diagnostics.
1994-12-01 10:45:26 +00:00
mycroft
867ebf1d84
Clear the controller active flag after a timeout.
1994-11-30 02:32:03 +00:00
mycroft
0649f37219
Officially credit Onno.
1994-11-23 22:00:08 +00:00
mycroft
cc44b4600c
There's no point in bothering to unlock what we didn't lock.
1994-11-23 07:54:15 +00:00
mycroft
6dda55519e
Fix an outdated comment.
1994-11-23 03:11:01 +00:00
mycroft
a3fc466734
Use logical block addressing if available. Be a little more careful about
...
maintaining timeouts. Clean up wddump() a bit.
1994-11-23 01:35:43 +00:00
mycroft
525fc36e19
Implement 32-bit reads and writes, but for now assume 16-bit mode.
1994-11-22 10:20:16 +00:00