thorpej
939e074dcc
Implement DIOCGDEFLABEL.
1997-10-08 23:05:22 +00:00
mjacob
8d35f4cdeb
Slight formatting change.
1997-10-08 21:39:25 +00:00
mjacob
f63551893b
The bit pointer field is a 3 bit value- not 4.
1997-10-08 17:17:09 +00:00
enami
3b3dfc2156
Don't define AUDIO_PLAY twice (accidently add in last commit).
1997-10-03 15:13:29 +00:00
enami
f86cc57e92
- Rename PIDEBUG back to SCSIDEBUG, since other files are still
...
using SCSIDEBUG.
- Don't #undef PIDEBUG unconditionally.
1997-10-03 15:12:12 +00:00
thorpej
451ec4af35
Clean up and comment the device types, and add the "enclosure services",
...
"storage array", and "IT8" types.
1997-10-03 02:04:17 +00:00
thorpej
7b3dd7f5c3
Define the REZERO UNIT command.
1997-10-03 01:56:52 +00:00
thorpej
5757f59312
Define the "write parameters" mode page.
1997-10-03 01:55:20 +00:00
mjacob
284a78edc2
kern/3022: make sure that printing sense info in SCSIDEBUG case starts at
...
the right place and contains the right number of bytes.
1997-10-02 16:03:42 +00:00
mjacob
78e5dc866c
Silly boy.... don't print out sense info if the command was marked SCSI_SILENT,
...
and print the opcode with a leading 0x if you're printing in hex.
1997-10-01 18:47:01 +00:00
mjacob
e9cc9ec6cc
Many thanks to Wolfgang Rupprecht for spotting this... In order to be sure
...
about actual position when reading tape position, you should flush any
pending writes. Well, if the tape is write protected, some drives don't
see the zero count WRITE FILE MARK command as a no-op and complain. Dumb!
1997-10-01 18:45:02 +00:00
thorpej
c557d7e759
Add missing SCSI_DATA_IN when issuing a READ_ELEMENT_STATUS command.
...
Noticed by Dave Huang <khym@bga.com>.
1997-10-01 05:39:56 +00:00
enami
d7d845c3d2
Cosmetic changes to keep coding style consistency in this directory;
...
- Indent with tab of width 8.
- Use four column to indent continuation line.
- Fold long line if possible.
- Use return (xx) instead of return xx.
- Compare pointer against NULL instead of testing like boolean.
- Delete whitespace at the end of line.
- Delete whitespace in front of function call operator.
- Delete whitespace after cast.
- Dereference a pointer to function explicitly.
- Add an empty line after local variable declaration.
- Use NULL instead of (char *)0.
- Dont use block for single statement.
1997-10-01 01:18:38 +00:00
mjacob
9e217027ee
Add in mtop operation MTCMPRESS, which can enable or disable tape compression.
...
The method for doing this is to try and use the DATA COMPRESSION mode page
first, followed by the DEVICE CONFIGURATION page (this is because most newer
tape devices are now using DATA COMPRESSION instead of DEVICE CONFIGURATION
pages).
Add in the logical && hardware read position and set position ioctls. Oddly
enough, because NetBSD is limited in having the driver track file && record
numbers, the usual agony over what to do once you use logical or hardware
block positioning can be avoided. Amusing.
Make a minor change so that for SCSIVERBOSE cases that SCSI_SILENT in
the xs' flags is still observed.
1997-09-29 19:33:03 +00:00
mjacob
d3349ea385
Add SCSI-3 DATA COMPRESSION page structure.
...
Add READ POSITION command structure. Add READ_POSITION and LOCATE opcodes.
1997-09-29 19:29:02 +00:00
mjacob
9f482818bc
Add 'initialize element status' command; note (for future fixing in ch.c)
...
that a number of jukeboxes can't cope with DBD (disable block descriptors)-
we'll have to fix that some day.
1997-09-29 17:32:23 +00:00
bouyer
7d8a3528cb
Add quirks entries for Hitachi DK515C disk drives and Cipher ST150S tape drive.
...
Closes PR kern/4171 from jbernard@tater.mines.edu .
1997-09-29 11:00:36 +00:00
mjacob
9b8a83f50f
Fix a misspelling.
1997-09-29 00:55:26 +00:00
mjacob
2896e07556
Allow SDOUTSTANDING to be defined elsewhere (e.g., config file).
1997-09-20 18:56:30 +00:00
cgd
e8733ec0da
mark scsipi_make_xs() as potentially unused, so that this can be
...
compiled with -Wunused without optimization/inlining enabled.
Also, make it a little bit closer to KNF.
1997-09-19 23:53:33 +00:00
mjacob
4be590238f
Another couple NOMODESENSE drives.
1997-09-19 14:08:48 +00:00
enami
a0c4d0c2e6
Add new ioctl OSCIOCREPROBE and OSCIOCIDENTIFY to support binary
...
compatibility with NetBSD 1.2.
1997-09-19 00:59:49 +00:00
enami
4d15bd0b78
Declare SCSIVERBOSE by defopt in files.scsipi. Include opt_scsiverbose.h
...
in scsi_base.c and st.c.
1997-09-13 08:51:15 +00:00
pk
ca07d14b0f
Add SDEV_NOLUNS to another CD-ROM player.
1997-09-09 21:56:01 +00:00
bouyer
8178ae5997
Uses PLAY_MSF instead of PLAY for the CDIOCPLAYTRACKS ioctl. This avoid a int16
...
overflow in the PLAY cbd when the resquested track(s) are more than 65535
blocks long. Submitted by t-nkyma@tcp-ip.or.jp in PR kern/4092.
1997-09-09 09:07:43 +00:00
bouyer
a5aece0adc
Don't attach worm devices to the CD driver. This is a private hack, and should
...
never have been there !
1997-09-05 16:45:25 +00:00
bouyer
5d5b3c641f
Restore indentation of SCSIVERBOSE output.
1997-09-05 08:36:40 +00:00
bouyer
87219fa0e6
Added a quirk entry for the SANYO CRD-254P (from OpenBSD), and
...
one for the MATSHITA CR-574 (from Josef Wulf <wulf@ping.net.au> via OpenBSD).
1997-08-28 14:02:31 +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
mjacob
e349ac7eb5
If SCSIVERBOSE is enabled, call the routine to print out detailed sense
...
information.
1997-08-20 18:20:12 +00:00
mjacob
e919735e35
Add in (enabled by SCSIVERBOSE option since it adds a fair amount of string
...
gup to the kernel) more detailed SCSI error printing, based off of final
SCSI-2 specification. This will also print out things like progress indicator
errors, and will also dump out additional sense bytes that haven't been decoded.
Also, turned the error message 'DELAYED' to 'DEFERRED' since that's more
accurate.
1997-08-20 18:19:12 +00:00
mjacob
77116c198a
Add in prototype for routine to print SCSI errors in detail.
1997-08-20 18:11:37 +00:00
mjacob
4aa2f7013c
A few more SDEV_NOLUNS entries- one tape drive (SONY Beta/VHS) and a couple
...
of PCMCIA card readers (one as T_DIRECT, the other as T_PROCESSOR).
1997-08-17 16:25:11 +00:00
mjacob
ee328c6f18
This fibre channel disk doesn't support the geometry page.
1997-08-16 01:05:51 +00:00
explorer
f1947d6a44
add SDEV_NOLUNS for my scanner (UMAX S-6E)
1997-08-14 22:17:32 +00:00
fair
be20028837
trivial change for PR#3815
1997-08-04 07:16:49 +00:00
fair
cc7e70b188
%x -> 0x%x
1997-08-04 06:55:22 +00:00
pk
e3680b0e26
config.new => config
1997-07-20 20:33:08 +00:00
perry
797652981e
More CD quirks, from Dave Huang (pr-3843)
1997-07-17 00:46:50 +00:00
cgd
6ac982f2a0
mark prototypes for static inline functions as possibly unused (with
...
__attribute__ ((unused))), to avoid generating warnings when compiling
without optimization but with most ports' default warning flags.
1997-07-07 22:45:34 +00:00
phil
a8597d8143
Report actual disksize on finding a disk.
...
(From: der Mouse <mouse@Rodents.Montreal.QC.CA>)
1997-07-02 03:51:25 +00:00
thorpej
84166e5151
foosize()'s return value is in DEV_BSIZE units; adjust the size obtained
...
from the disklabel accordingly.
1997-06-24 00:28:36 +00:00
pk
8303adf18a
sdsize(): only call sdopen()/sdclose() if not already open, per the
...
current openmask.
1997-06-18 20:38:59 +00:00
matthias
8033e010bd
In case of a SCSI-error print the extended sense information and not
...
some sort of random garbage.
1997-06-09 19:36:56 +00:00
mycroft
103c7d360d
Oops; forgot to GC the last mbuf allocated when out of clusters.
1997-04-28 17:03:58 +00:00
augustss
81a10d7725
Don't require that a device is open for writing to perform a raw
...
SCSI command that just reads.
1997-04-26 22:24:46 +00:00
mycroft
91a808523c
Fix typo in previous.
1997-04-24 08:05:13 +00:00
mycroft
b65e62c6c4
If we fail to allocate a cluster to hold a large packet, simply
...
drop it rather than using a chain of tiny mbufs.
Do not force the initial part of a packet into a separate mbuf.
1997-04-24 02:36:46 +00:00
mycroft
db2332eb26
Another silly CD-ROM drive...
1997-04-24 00:49:14 +00:00
thorpej
6102bc8ec2
And Yet Another Broken IBM disk (the 664 this time), once again
...
reported by Hubert Feyrer <feyrer@grizu.fh-regensburg.de>.
1997-04-20 01:30:30 +00:00
thorpej
f9bc642a6d
Add Yet Another Broken IBM disk to the SDEV_AUTOSAVE list. This one
...
doesn't report a vendor string (yuck)!. Problem reported by
Hubert Feyrer <feyrer@grizu.fh-regensburg.de>.
1997-04-20 00:55:05 +00:00
pk
f2c53e4c3d
Two more quirks:
...
Python 28454-XXX tape drive: NOLUNS
1588-15MBSUN0669 disk: AUTOSAVE
1997-04-19 21:32:37 +00:00
scottr
63d11b7577
Add another IBM disk that needs SDEV_AUTOSAVE.
1997-04-08 17:35:06 +00:00
matthias
470e2a9983
* Do some KNFing.
...
* Make all local functions static.
* Add some untested netatalk support.
1997-04-04 19:02:43 +00:00
mycroft
6d3685ab6c
Add a SDEV_AUTOSAVE quirk for the Emulex SCSI<->ESDI bridge.
1997-04-02 02:36:02 +00:00
mycroft
aca1dae3c4
Push the buffer cleanup code into scsi_done(), and split it so that biodone()
...
is called *after* the driver `done' routine. This fixes disk I/O statistics
on SCSI devices.
Also, calling the `done' routine with a `complete' argument of 0 and actually
having it do anything meaningful loses in at least 3 ways, so just nuke the
argument altogether and don't call it this way. If the driver needs to do
some error handling, that's what `err_handler' is for.
1997-04-02 02:29:30 +00:00
mikel
df25ccca49
loosen the version number check in the quirk list for the CDR-H98MV;
...
from Koji Imada in PR kern/3419.
1997-04-01 04:05:03 +00:00
christos
4c29beee46
PR/3409: Koji Imada: cdsize() timeout too short for cd changers.
1997-03-29 21:37:55 +00:00
scottr
1cc0fb9b24
Add SDEV_AUTOSAVE quirks for IBM 0663H{08,12} disks
1997-03-27 07:37:54 +00:00
scottr
757d4ce5d4
Add SDEV_NOLUNS quirk for Seagate ST125N.
1997-03-25 22:33:50 +00:00
thorpej
24840394af
Fix a screwup (my fault, oops) that caused the stack to get corrupted.
...
From Ian Dall <Ian.Dall@dsto.defence.gov.au> on port-pc532.
1997-03-24 00:04:53 +00:00
matthias
c796ad8010
Add missing arp tag for se driver.
1997-03-21 08:55:09 +00:00
thorpej
21c7befacf
Back out part of the previous patch - not only does stuffing a sizeof()
...
into 8 bits generate (bogus) warnings on some architectures, but the
change to pad on "scsi inquiry" is no longer needed, apparently.
Thanks to Matthias Pfaller for pointing the latter out to me.
1997-03-20 07:13:07 +00:00
cgd
5b1c90b820
add appropriate includes so that this deals properly with NS and CCITT+LLC.
...
(Includes stolen from dev/ic/am7990.c, because it's a (the?) canonical
networking hardware driver.)
1997-03-18 04:45:04 +00:00
thorpej
f94626f157
Driver for the Cabletron EA41x SCSI Ethernet Adaptor, written by
...
Ian Dall <ian.dall@dsto.defence.gov.au>. Converted to "new arp"
and some other (very) minor changes by me.
1997-03-18 01:31:15 +00:00
thorpej
8c465535e7
Two changes from Ian Dall <ian.dall@dsto.defence.gov.au>:
...
- Deal with devices that ignore the length specified in the
inquiry command.
- Allow asynchronous requests without using a buf (key off NOSLEEP instead).
1997-03-18 01:28:10 +00:00
mikel
877fe66c4e
SDEV_NOMODESENSE quirks are no longer needed for optical devices; from
...
Enami Tsugutomo in PR kern/3308.
1997-03-11 06:06:35 +00:00
mikel
4a6b41b8fe
garbage collect unused variable (was this struct declaration orginally
...
a typedef?); from Enami Tsugutomo in PR kern/3282.
1997-03-04 06:25:22 +00:00
thorpej
15b56daab6
If posting an error condition because the media has been unloaded,
...
make sure to set the residual count to reflect that no data was
transfered.
From Naofumi HONDA / MINOURA Makoto, PR #3007 .
1997-02-21 23:03:25 +00:00
thorpej
850b75414f
- Tidy up some printf code in chattach().
...
- Implement a simple quirks framework for changers.
- Add a quirk for the Spectra 9000 8mm tape library; it requires a
slightly-longer-than-1-minute delay to take tape inventory. Many
thanks to David Webster at Cygnus Solutions for testing this for me.
1997-02-21 22:06:52 +00:00
thorpej
625d310b1b
Handle optical disks a little better, from Naofumi HONDA / MINOURA Makoto
...
in PR #3009 , with some slight KNF from me.
1997-02-21 21:51:59 +00:00
jeremy
2eff5a6059
Fix typo in comment.
1997-02-21 07:14:21 +00:00
cgd
c05e715a52
kill use of strchr(); it's moving to libkern
1997-01-18 02:18:47 +00:00
cgd
73f996ef33
note in a comment (XXX) that strchr() (what's it doing here, anyway?)
...
causes 'const' to be discarded.
1996-12-22 10:35:08 +00:00
mycroft
e1a87dc790
Make sure to initialize the memory we just allocated.
1996-12-14 10:50:32 +00:00
thorpej
f113ac70dd
Add a "max_target" member to struct scsi_link, which is filled in by
...
host adapter drivers, indicating the highest SCSI target they can
address. Use this value to dynamically allocate data structures, rather
than hard-coding 8 targets.
These changes allow targets > 7 to be addressed on wide SCSI busses.
Fixes PRs #1674 and #2892 .
1996-12-10 21:06:29 +00:00
cgd
ea0c7b4423
update these so they compile whether or not __BROKEN_INDIRECT_CONFIG
...
is defined.
1996-12-05 01:06:39 +00:00
thorpej
3ae1a191dc
Recognize the HP ScanJet 4p, per PR #2663 (Kenneth Stailey).
1996-12-03 01:25:53 +00:00
thorpej
40611b811f
Start a mode sense with a clean sense buffer.
...
Fixes PR #2953 , from David M. Stanhope <dms@celtech.com>.
1996-11-29 19:58:40 +00:00
thorpej
f3c0cc95a1
Add an inquiry pattern for the HP ScanJet 4p.
...
From Valtteri Vuorikoski <vuori@notcom.org>, PR #2957 .
1996-11-29 19:53:32 +00:00
thorpej
f6ffe73a99
Add Yet Another Broken CD-ROM Drive to The List.
...
From Lennart Augustsson <augustss@cs.chalmers.se>, PR #2971 .
1996-11-29 19:51:14 +00:00
explorer
f0873310e2
Another quirky cdrom drive ; pr kern/2917
1996-11-08 05:06:55 +00:00
mikel
19bb57bc5a
Add another broken CDROM. Fixes PR kern/2913.
...
Some misc. cleanup.
1996-11-06 05:50:31 +00:00
matthias
c53ad1988a
* At least the Teac FC-1 Shugart-SCSI bridgeboard does motor on/off
...
management by itself. But when it gets a start unit request, it keeps
the floppy motor running all the time. This adds code for dealing with
yet another quirk (SDEV_NOSTARTUNIT) that prevents sd.c from sending
start unit requests. A entry for the Teac FC-1 is added to the quirk
table.
1996-10-23 07:25:39 +00:00
explorer
efccf77947
Add quirk entries for two more optical drives; closes pr kern/2861
1996-10-18 17:22:17 +00:00
christos
9a2c8cf28c
revert previous kprintf change
1996-10-12 23:23:13 +00:00
christos
9beb92aad7
printf -> kprintf, sprintf -> ksprintf
1996-10-10 23:32:59 +00:00
christos
01d75c7c68
- printf -> kprintf, sprintf -> ksprintf
...
- make this compile cleanly.
1996-10-10 23:31:40 +00:00
christos
d5bc24be7a
- printf -> kprintf, sprintf -> ksprintf
...
- replace sequences of sprintf(p, ...); p += strlen(p) with p += sprintf(p,
1996-10-10 23:30:58 +00:00
gibbs
b9c06e6fa3
dev/microcode/aic7xxx/aic7xxx.seq,
...
dev/microcode/aic7xxx_seq.h,
dev/ic/aic7xxxreg.h:
Remove intrinsic knowledge about SDTR and WDTR messages and replace it
with a generic message system that allows the kernel driver to handle
SDTR, WDTR and any other type of extended message it chooses too. This
makes the sequencer code much simpler, makes extended message handling
debuggable since the bulk of the work is in the kernel driver, and saves
lots of instruction space.
Regen microcode header file.
dev/ic/aic7xxx.c, dev/ic/aic7xxxvar.h:
Add code to handle WDTR and SDTR negotiation in light of the changes in
the message interface to the sequencer. Don't reject targets that
negotiate async by sending an SDTR with a 0 offset. Use an sdtr message
with 0,0 to negotiate async when a target suggests a period that is too
long for us to handle. Some tape and cdrom drives don't like us doing
the message reject that we did in the past.
Fix a problem with handing the QUEUE FULL condition.
Fix a race condition (most likely the cause of the SCB paging problems) that
might allow the sequencer to get unpaused before the condition that caused
it to be paused (a SEQINT) was handled.
Race condition pointed out by Doug Ledford <dledford@dialnet.net> and
by "Dan Willis" <dan@plutotech.com>.
dev/pci/ahc_pci.c:
Add support for the 2940AU, an aic7860 based controller.
dev/pci/pcidevs.h, dev/pci/pcidevs_data.h:
Add product IDs for the 2940AU, aic7860 and aic7855.
Regen data file.
scsi/scsi_message.h:
Add MSG_EXT_SDTR_LEN and MSG_EXT_WDTR_LEN - the length of bytes in these
extended messages.
Thanks to Chuck Cranor <chuck@maria.wustl.edu> for testing these changes
out for me.
1996-10-08 03:04:02 +00:00
thorpej
d3f587e135
For ioctl commands which may change the device's state, ensure that
...
the caller has the device open for writing.
1996-09-18 02:34:31 +00:00
thorpej
fcde57a426
For ioctl commands which may change the device's state, ensure that
...
the caller has the device open for writing.
1996-09-13 00:35:59 +00:00
thorpej
9aeee9fb17
Remove a couple of opcodes that are already (and more appropriately)
...
defined in scsi_changer.h
1996-09-12 01:57:17 +00:00
thorpej
f60341a382
Store the SCSI version in the scsi_link, and set the LUN in the CDB
...
if the version is <= SCSI-2. This should help some older SCSI
devices that previously needed the "NOLUNS" quirk. While this is
not strictly necessary on SCSI-2 devices, the spec allows it,
so we set it for SCSI-2 devices "just in case". See section 7.2.2 of
Draft X3T9.2 Rev 10L for details.
1996-09-03 18:20:31 +00:00
cgd
11ec3588ad
(1) add a 'channel' field to scsi_link.
...
(2) in scsibusmatch, match channel as appropriate.
(3) add a scsiprint() function, to do the "scsibus at..."
and channel (if not SCSI_CHANNEL_ONLY_ONE) printing,
i.e. the common functionality that all SCSI drivers currently
should be doing.
1996-08-28 18:47:51 +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
explorer
c87188f1bd
be quiet about read_subchannel. Some CD players use this to poll, and having
...
a screen filled with kernel messages isn't nice. Closes pr kern/817
1996-08-13 08:55:38 +00:00
explorer
5c3b7a7213
Fix condition where disk_unbusy may not get called
1996-08-13 08:31:31 +00:00
thorpej
27e2d3eee3
Match any Maxtor XT-8760S for the SDEV_NOLUNS quirk. Some of these
...
drives carry Sun OEM identifiers, as well.
Noticed by Taras Ivanenko <ivanenko@ctpa03.mit.edu>.
1996-07-24 20:50:23 +00:00
is
a7efb38d4c
Some MUSTEK scanners fill the vendor string in the SCSI identify
...
string with 0xFF instead of 0x20. Shorten the compare to 6 bytes to
take care of this.
Fixes PR #2617 by myself, which is based on a private problem report
by Neil Brewitt.
1996-07-12 16:49:50 +00:00
explorer
9c8111508d
Add SCSI_QUEUE_FULL ; part of pr port-i386/2600
1996-07-10 22:48:56 +00:00
explorer
228f4739ce
add ZIP quirk for SDEV_NOMODESENSE
1996-07-05 21:58:04 +00:00
christos
7e1c82f6f4
- Apply PR/2535: Add support for flex scsi disks.
...
- Add a quirk called SCSI_NOMODESENSE for drives like the iomega jaz,
that don't support mode sense.
1996-07-05 16:19:02 +00:00
thorpej
56543dfb7d
In sddump(), don't check the SDEV_MEDIA_LOADED bit of the device, since
...
that bit might have been cleared by successful unmounting of all filesystems
on the dump device, e.g. in the case of "reboot -d".
1996-06-04 23:12:14 +00:00
thorpej
a0be48ca23
Implement ST_Q_UNIMODAL quirk, which indicates that a drive will reject
...
all attempts to mode select, even if the attempted mode is supported.
Add the ST_Q_UNIMODAL quirk for the HP Colorado T4000s which exhibits
this behavior. (Someone please lob a tactical nuke in that direction.)
From David Rosenthal <dshr@vitria.com> on netbsd-bugs.
1996-05-24 02:04:29 +00:00
christos
a7136623a9
Added prototypes for inline functions atoi() and strchr().
1996-05-18 22:58:01 +00:00
mycroft
e03577c2a4
Slight adjustments for new version of ahc driver.
1996-05-16 04:00:58 +00:00
leo
153c617719
Clear SDEV_MEDIA_LOADED bit on the last close of a device. This causes the
...
geometry info & the disklabel to be reloaded on each 'first-open' of the
device.
1996-05-14 10:38:47 +00:00
thorpej
1379322cde
Print the error code in the "not queued" message, to make debugging
...
a bit easier, and make sure a newline gets printed.
1996-05-14 00:10:37 +00:00
mycroft
7f0f603f3a
Bug fixes from PR 2329, plus a few from me.
1996-05-11 22:21:51 +00:00
christos
0efbe64fb8
Cleanup the rest of the SCSIDEBUG printfs. From Bernd Ernesti.
1996-05-05 19:52:50 +00:00
christos
88c3808921
- SCSIDEBUG printf() fixes.
1996-05-03 19:48:20 +00:00
neil
c4b8477b78
Added another quirked SCSI device, re PR 2320 from Manuel Bouyer
1996-05-02 01:09:01 +00:00
christos
ffd5576439
remove include of <sys/cpu.h>
1996-04-22 01:44:31 +00:00
christos
3c0096ff79
gcc -Wall delinting: unused variables, assignments inside if's and missing
...
arguments in printf statements.
1996-04-19 00:02:29 +00:00
thorpej
52fee18c6f
New SCSI media changer driver, written from scratch by me. Some
...
influence from the old driver (written by Stefan Grefen) and from
an autochanger driver written by the Systems Programming Group at the
University of Utah Computer Science Department (currently residing
in src/sys/arch/hp300/dev/ac.c).
1996-04-03 00:25:21 +00:00
christos
94d26d3017
- Eliminate scsi_conf.h
...
- Fix prototypes
- Fix PR/2248 [Problems with HP scanjet...]
1996-03-30 21:47:00 +00:00
christos
beec8ba94c
Eliminate scsi_conf.h.
1996-03-30 21:44:50 +00:00
mrg
1180bee580
eliminate unused variables.
1996-03-29 14:50:12 +00:00
cgd
4b535677ab
fix pasto: sdminphys -> cdminphys in comment.
1996-03-27 01:11:41 +00:00
mycroft
f20498187e
SDUNIT -> CDUNIT in last.
1996-03-27 00:48:50 +00:00
mycroft
5ed22a9852
Put back dk_establish() for now.
1996-03-26 22:22:19 +00:00
mycroft
5f57f43753
Increase *OUTSTANDING.
...
Remove old dk_establish() garbage.
Support the `ancient' bit in both drivers.
1996-03-26 20:32:06 +00:00
mycroft
caeb897758
Fix trivial oversight in last.
1996-03-24 07:36:11 +00:00
scottr
3166ff9f2f
Add a SDEV_NOLUNS quirk for the Epson OMD-5010 removable MO cartridge drive.
1996-03-21 03:29:40 +00:00
mycroft
e819063285
Define a full set of [234][bl]tol() and lto[234][bl]() conversion functions,
...
inlined.
Use sized types in protocol structures.
Make the definition of scsi_sense_data less ugly.
1996-03-19 03:05:15 +00:00
hpeyerl
9785218963
Fix for NEC D3847 1.6gB drive which reported itself at lun[1-7].
1996-03-18 16:19:58 +00:00
pk
12bcc82160
Parentheses are your friends.
1996-03-17 02:06:50 +00:00
thorpej
532e997971
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:57:14 +00:00
thorpej
8f4177ba60
Add another broken drive that doesn't deal with LUNs properly to The List.
...
Fixes PR 1961, from Kevin P. Neal.
1996-03-05 01:45:42 +00:00
thorpej
a8573feb51
Normalize SCSI autoconfiguration output.
...
From Chris Demetriou <cgd@NetBSD.ORG>. Fixes PR #1958 .
1996-03-05 00:15:09 +00:00
mycroft
ad355be572
Add a SDEV_AUTOSAVE quirk for the DEC RZ55.
1996-02-22 23:37:27 +00:00
mycroft
91e913b297
Handle EOF a little differently.
1996-02-19 00:06:07 +00:00
mycroft
c5326f656e
Change variable name to avoid GCC warning.
1996-02-18 23:21:48 +00:00
mycroft
2dfda50bb9
Minor tweak; make sure window size is 0 on close.
1996-02-18 20:44:40 +00:00
mycroft
8f0f40e8b3
Missed some prototyping foo.
1996-02-18 20:41:18 +00:00
mycroft
342c383728
Truncate to the window size in ssminphys(), not ssread().
1996-02-18 20:38:44 +00:00
mycroft
294879d4ee
Add SCSI scanner support by Kenneth Stailey and Joachim Koenig-Baltes,
...
hacked a bit. Needs more work.
1996-02-18 20:32:40 +00:00
mycroft
23726708b0
Minor change.
1996-02-18 20:30:53 +00:00
jtk
45eee6c55b
remove #ifdef notdef made unnecessary by previous changes (PR#1597)
...
put in missing "if (error)" that caused tape IO to always fail.
(closes PR#2086)
1996-02-17 16:00:22 +00:00
christos
0bc63f486d
scsi prototypes
1996-02-14 21:46:52 +00:00
briggs
f18f32d2e1
PR#2048. Prototype st_erase().
1996-02-09 14:51:34 +00:00
briggs
e5ece749b2
Handle COMMAND ABORTED by forcing a retry. PR#2003, but with some more
...
diagnostic info.
1996-01-31 15:16:06 +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
c7a20f0ee3
Implement DIOCLOCK and DIOCEJECT. DIOCEJECT is limited to removable
...
media. Fixes PR #1975 .
1996-01-30 18:24:47 +00:00
thorpej
8068d9eeb2
Handle cases like the following:
...
- controller calls scsi_done() with error XS_TIMEOUT
- scsi_done() calls sddone()
- sddone() calls disk_unbusy()
- scsi_done() calls controller to retry command (missing the
call to disk_busy())
- controller calls scsi_done()
- scsi_done() calls sddone()
- sddone() calls disk_busy(), which panics because of the imbalance.
Bug noticed by Leo Weppleman, who also suggested this fix; pass an additional
boolean argument ("complete") to the device's "done" routine, with a
value of `0' passed from the previous call to "done", and add an additional
call to "done" when the xfer resources are freed.
1996-01-12 22:43:26 +00:00
pk
59dd89e3b1
LUN deficient device: Tandberg 3600 (Ken Raeburn; PR#1933).
1996-01-12 11:32:37 +00:00
thorpej
5b51ec5cc8
Honor cache request and implement erase command, and add the SCSI tape
...
device configuration page. Fixes PRs 807, 1201, and 1705.
From John Kohl <jtk@kolvir.blrc.ma.us>.
1996-01-11 03:36:34 +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
0548b8e5ad
SCSI sense `info' field is a signed value (from John Kohl; PR#1597).
1996-01-05 16:03:35 +00:00
thorpej
19c3f6d999
Add another broken CD-ROM drive to The List (Chinon CDS-525), per PR #1686 .
...
From Kortelainen Mika <k125374@cs.tut.fi>.
1995-12-31 02:40:53 +00:00
mycroft
89f8e05c10
Trim NULs, in addition to spaces, in scsi_strvis().
1995-12-11 04:43:01 +00:00
thorpej
1cd2ca323b
Remove a couple of now unneeded assignments.
1995-12-07 21:54:24 +00:00
thorpej
b6c6d46a82
In sdminphys(), add a comment about the semantics of the "length" field
...
in a 6-byte read/write cdb (namely, length == 0 really means 256), and
that we handle this conservatively by limiting the transfer to 255 blocks.
*sigh* One just never knows how a pre-scsi-1 device is going to behave.
1995-12-07 19:46:00 +00:00
thorpej
c9895db015
In both cd.c and sd.c:
...
If the read or write request can fit into a 6-byte cdb, then
use a 6-byte cdb, otherwise use the 10-byte as before.
In sd.c:
In sdattach(), make a note if the device is "ancient" (i.e.
inqbuf.version & SID_ANSII == 0).
Implement sdminphys(): if the device is "ancient", shorten the
transfer so it will fit into a 6-byte cdb.
These changes have eliminated the rejected read/write requests on my
Sun 3/60 with 2 ESDI disks behind an Emulex MD21.
1995-12-07 19:11:32 +00:00
pk
7a7ca00077
Add quirk for Exabyte 8200/rev. 263H (from Paul Goyette; PR#1797).
1995-11-30 10:12:04 +00:00
mycroft
fbecb8d22b
Remove the gratuitous code to check for a disc at boot time.
1995-11-11 20:07:57 +00:00
pk
8d78a257c0
More rogues.
1995-11-01 01:15:07 +00:00
thorpej
cbef9e5129
Add missing spindle synch control, rotational offset, and RPM members
...
to the rigid geometry mode page. These missing members are at the
end of the page, in space wich was previously marked "reserved".
1995-10-15 23:32:02 +00:00
gwr
444e2789c6
Add quirk entries for Wangtek SCSI tapes. Also, add entry for
...
Tandberg 3800 (fixes PR#1592 - from Jochen Pohl).
1995-10-13 20:01:03 +00:00
mycroft
92221a1399
Return EINVAL if something other than a whole number of blocks is requested.
1995-10-10 02:52:56 +00:00
pk
db0107b895
Specify SCSI_DATA_OUT in sddump() (from John Kohl; PR#1482).
1995-09-30 22:57:19 +00:00
thorpej
b93138b93d
Add another broken NEC CD-ROM drive to The List. Fixes PR #1451 .
1995-09-26 23:37:50 +00:00
thorpej
249cddaaa7
Don't declare Debugger(). It's handled in <sys/systm.h>.
...
#include <sys/systm.h> where necessary, as suggested by Jonathan Stone.
Fixes PR #1511 .
1995-09-26 19:26:48 +00:00
pk
d9e37f2bc7
Set the scsi link before calling config_attach(), so target/lun info is
...
available to, say, dk_establish().
1995-08-21 09:30:09 +00:00
briggs
3560df43af
CHINON CDS-535 version Q117 also needs NOLUNS. Assume all 535s do.
1995-08-14 13:01:42 +00:00
briggs
19f3c3099f
Another SDEV_NOLUNS device from paul@pgoyette.bdt.com (Paul Goyette).
1995-08-13 17:48:57 +00:00
mycroft
8887de9230
opri --> s
1995-08-12 22:58:01 +00:00
mycroft
8a9880e714
Fix oversight in previous.
1995-08-12 21:36:46 +00:00
mycroft
80d7b0695a
minphys() functions really should return void.
1995-08-12 20:30:45 +00:00
mycroft
92637a6d42
Add another Seagate disk to the list, and make all the disks match any
...
firmware revision.
1995-08-06 00:04:00 +00:00
mycroft
24a5e56396
Use an intermediate variable to shorten label initialization code.
1995-08-05 23:47:52 +00:00
cgd
d8e7ea659c
restore a deleted semicolon
1995-07-24 09:03:00 +00:00
cgd
4d0bd10d53
kill structure offest comments in non-fixed-size structures.
...
In some of our worlds, pointers just Aren't 4 bytes.
1995-07-24 07:08:14 +00:00
cgd
3301cf82fd
update SCSI minphys routines' definitions to match standard minphys()
...
definition and usage.
1995-07-24 06:55:37 +00:00
cgd
0b469d4a12
add/change a few quirks:
...
(1) all Chinon CDS-431 CD-ROMs (regardless of revision)
are forced to only having LUN 0, at the suggestion
of Michael Hitch.
(2) _force_ searching of extra LUNs for the Emulex MD21/S2
ESDI bridge. It's pre-SCSI 1, but knows about LUNs.
"amazing." From Jason Thorpe.
(3) recognize an Emulex tape adapter in front of a QIC-36
tape, and have it forced to only LUN 0. This is
an odd one; vendor, name, and rev strings are all
spaces. Anything that mathes this is very likely
broken, anyway, so might as well give it a shot.
Again from Jason Thorpe.
1995-07-12 09:56:09 +00:00
cgd
d8fe81c04c
implement SDEV_FORCELUNS flag, as suggested by Jason Thorpe.
1995-07-12 09:43:29 +00:00
cgd
f60db5f02a
add a SDEV_FORCELUNS flag, as suggested by Jason Thorpe, to force
...
the SCSI code to look for LUNs on prehistoric (pre-SCSI 1) drives &
controllers, where normally it would not.
1995-07-12 09:42:00 +00:00
cgd
5b671ea6a8
Morningstar SnapLink -> SDEV_NOLUNS, per Peter Galbavy in pr 1192.
1995-07-09 09:44:57 +00:00
cgd
21b6db23b7
play the alphabetization game
1995-07-09 09:43:07 +00:00
cgd
5a5eb678c9
QUANTUM P105S 910-10-94x A.3 -> SDEV_NOLUNS
1995-07-09 09:30:42 +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
1c5d265cad
another CD-ROM quirk, a la PR 1166
1995-06-27 20:42:45 +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
d093e5d8b8
make dump stubs consistent
1995-06-26 05:15:33 +00:00
cgd
d8264613c8
add entry for another tweaked Texel CD-ROM. from pr 1151
1995-06-24 01:22:30 +00:00
mycroft
6664ae1ddd
Add another CD-ROM drive to The List.
1995-06-18 05:13:09 +00:00
pk
7d18c2534d
Add `Maxtor LXT-213S', this time without a Sun OEM addition.
1995-06-02 21:44:11 +00:00
cgd
011aa68805
looks like some extra ')'s were left in here.
1995-05-03 21:38:57 +00:00
mycroft
1d2f0bce2a
Make the byte-shifting code consistent.
1995-05-03 19:38:45 +00:00
cgd
224a7f4533
config.new description of SCSI mi files.
1995-04-17 07:15:40 +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
3836533fc6
Add another broken CD-ROM drive to The List.
1995-04-04 05:44:32 +00:00
mycroft
7e2dabf972
Add a missing unlock.
1995-04-01 10:29:41 +00:00
mycroft
1d568eab9a
Revamp the locking mechanism slightly.
1995-03-29 23:04:39 +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
12a1b9ad67
Add a rogue entry for the ANRITSU DMT780.
1995-03-25 18:41:42 +00:00
glass
911fbf48fa
fix syntax error. Andreas Gustafsson <gson@clinet.fi>
1995-03-24 20:17:15 +00:00
mycroft
990077ba88
Don't bother with DIOCWLABEL.
1995-03-23 12:13:37 +00:00
mycroft
06d0a67a07
Check for read-only media in open(), not write().
1995-03-23 12:11:07 +00:00
mycroft
d21add8356
Revert cdsize() to do nothing.
1995-03-23 11:51:22 +00:00
mycroft
4712cd33dc
Rearrange DIOCWDINFO a little; closer to wd.c.
1995-03-23 11:43:09 +00:00
mycroft
562ca7760b
Fix typo.
1995-03-23 11:37:51 +00:00
mycroft
02df08a47e
Allow DIOCWDINFO even if label is not `writable'.
1995-03-23 11:33:18 +00:00
mycroft
e203e49ef5
Correct spelling of `fictitious'. Add patterns for optical memory devices.
...
From Alistair Crooks.
1995-03-07 21:46:06 +00:00
mycroft
2986fc2fd0
Be less picky about revision numbers for some broken devices.
1995-02-22 19:32:33 +00:00
pk
e560d77223
Another Maxtor botch.
1995-02-09 10:23:14 +00:00
mycroft
d8743f51a2
Add Exabyte 8200 to the list.
1995-02-01 09:37:54 +00:00
mycroft
52bacd79d6
Fix invocation of scsi_scsi_cmd(), per John Kohl.
1995-01-30 15:54:42 +00:00
mycroft
1076165d07
All revisions of the TDC 3600 are rogues.
1995-01-30 15:39:33 +00:00
mycroft
7639253b70
Finish last change.
1995-01-30 11:50:23 +00:00
mycroft
321b00bd07
Some drives don't grok START with LoEj=1, either.
1995-01-30 11:47:56 +00:00
mycroft
0ece1143f6
Set the LoadEject bit when issuing a START.
1995-01-30 11:37:17 +00:00
mycroft
9085638020
Some devices really do require the START before the PREVENT. This makes no
...
sense.
1995-01-30 11:34:25 +00:00
mycroft
1611df6ae0
Update copyrights.
1995-01-26 12:05:49 +00:00
mycroft
b76a328caa
Redo the `wait for spin up' code. The Mach 3 method clearly doesn't work.
...
Also, rearrange the first open sequences a bit; SDEV_OPEN is no longer magic.
1995-01-26 11:56:51 +00:00
mycroft
726fa4e94f
Do the PREVENT before the START.
1995-01-23 18:17:22 +00:00
mycroft
feb5b29596
Remove old, misleading comment.
1995-01-23 17:56:26 +00:00
mycroft
a6e7fe0d2a
If the disk reports a block size of 0, assume it really meant 512.
1995-01-16 21:40:17 +00:00
mycroft
4a1e51751b
Trivial simplification.
1995-01-16 21:34:10 +00:00
mycroft
e71e917e9d
Remove unused macros.
1995-01-16 21:31:34 +00:00
mycroft
85532dd4ce
Don't clear the debug flags when copying the prototype scsi_link.
1995-01-16 21:13:40 +00:00
mycroft
28775a6a5d
Add a DIAGNOSTIC check.
1995-01-13 14:38:13 +00:00
mycroft
7650bd97fc
Always boundary check I/O.
1995-01-13 10:46:32 +00:00
mycroft
83a1c4799e
Add two more broken devices.
1995-01-12 10:25:44 +00:00
mycroft
dff292c275
Put Dan's broken tape drive in The List.
1995-01-01 11:37:03 +00:00
mycroft
bfd9901daf
Fix some oversights in the debugging code.
1994-12-30 05:33:06 +00:00
mycroft
d78ddddef6
Update the rogue entry for ancient drivers to match reality.
1994-12-30 05:23:49 +00:00
mycroft
6e9d6a0d75
And a little better...
1994-12-30 05:20:22 +00:00
mycroft
0a83cd8c57
Deal with short inquiry response a little better.
1994-12-30 05:14:52 +00:00
mycroft
5d3bd57538
Fix a couple of things in the sense printing code.
1994-12-29 13:49:57 +00:00
mycroft
f2909dc62b
Increase the st_space() timeout.
1994-12-28 19:55:50 +00:00
mycroft
8fd135209c
Numerous changes. Many bugs fixed, better autoconfig, a few new features.
1994-12-28 19:42:47 +00:00
mycroft
3e7afdbe8a
Remove DIOCSBAD handling. It's not actually handled, so why recognize it?
1994-12-16 04:38:30 +00:00
mycroft
ca65f2ce5d
Remove dkbad.h.
1994-12-14 15:17:22 +00:00
mycroft
1b372b7e96
Remove some redundant code.
1994-12-01 13:07:28 +00:00
mycroft
0109779d43
Remove unneeded override of SCSI_NOSLEEP.
1994-12-01 12:45:25 +00:00
mycroft
c1cbd9c635
Set UIO residual count.
1994-12-01 12:36:35 +00:00
mycroft
71ab8bb627
Always set the device number correctly, even though we don't need it.
1994-12-01 12:26:37 +00:00
mycroft
d18cbacd88
Redux.
1994-12-01 12:12:08 +00:00
mycroft
1066219897
Uncomment call to scsi_user_done(), and remove a duplicate biodone() (and
...
another si_free()).
1994-12-01 12:04:43 +00:00
mycroft
a10cbd7179
Remove the silly statically allocated array, and simply malloc the data
...
structures as needed. Also, put the buf in the malloc()ed area. Remove a
duplicate si_free() (though this was harmless before).
1994-12-01 11:53:56 +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
95edd299b0
Add still more locking.
1994-11-22 03:23:49 +00:00
mycroft
284d17e8f0
Complete last change.
1994-11-22 00:14:24 +00:00
deraadt
0c36dd6762
C botch repair from bostic
1994-11-22 00:05:36 +00:00
mycroft
c81c637ee3
Return EIO when the drive is empty.
1994-11-21 11:37:26 +00:00
mycroft
7a1dcbfac6
Clean up open and close routines somewhat.
1994-11-21 11:28:47 +00:00
mycroft
fd32202948
Replace dev_unit with device_softc in scsi_link. Change argument to foostart()
...
to void*.
1994-11-21 10:39:09 +00:00