Commit Graph

439 Commits

Author SHA1 Message Date
mjacob ac2ca72a01 a tab crept in 1998-04-15 16:52:37 +00:00
mjacob 76970a00f5 trim ID of ST19171FC so that SUN drives are caught 1998-04-10 17:13:11 +00:00
christos e0436952f0 Split out the verbose printing of scsi messages, so that user programs
can use the printing routines.
1998-03-28 21:57:08 +00:00
mycroft 2397f92b38 Implement CDIOCCLOSE. 1998-03-16 04:17:53 +00:00
scottr 8840acb1e2 Quirk table entries for IBM H3171 and Quantum ELS85S disks. 1998-03-07 06:34:59 +00:00
cgd 8a2d9d7d74 in the ATAPI bug workaround code ("HACK"), don't forget to set
SCSI_AUTOCONF when executing SCSI commands.
1998-03-03 23:15:36 +00:00
thorpej 8354e68508 Remove "class" declarations, and add "devclass" declarations where
appropriate.  Fix several inconsistencies between device class and
attributes.  Mostly from Chris Demetriou.
1998-02-16 22:12:45 +00:00
enami d0ad49a001 Backout previous change, and rather, remove all protection but the one
actually currently required.  Suggested by Charles M. Hannum.
1998-02-13 08:28:16 +00:00
enami dea45865d2 Don't include <dev/scsipi/scsi_all.h> twice. 1998-02-13 08:12:40 +00:00
enami ef09ae656f Fix or add protection for mutiple inclusion. 1998-02-13 04:19:13 +00:00
thorpej 6e899bb965 Clear the scsipi_xfer's status byte before executing the command. This
fixes a condition where stale data can be left in the status byte, causing
user programs that interpret it to fail.

Fixes kern/4964 from Chris Jones <cjones@honors.montana.edu>.
1998-02-10 19:48:51 +00:00
pk cc06ca6693 * Add the "VIPER 150/21531" to quirk list (ST_Q_SENSE_HELP).
* Double timeout on tape position commands to 30 minutes. Some units
  seem capable of taking that much time.
1998-02-07 23:00:24 +00:00
mrg 1a8c7604f4 initial import of the new virtual memory system, UVM, into -current.
UVM was written by chuck cranor <chuck@maria.wustl.edu>, with some
minor portions derived from the old Mach code.  i provided some help
getting swap and paging working, and other bug fixes/ideas.  chuck
silvers <chuq@chuq.com> also provided some other fixes.

this is the rest of the MI portion changes.

this will be KNF'd shortly.  :-)
1998-02-05 07:59:28 +00:00
mikel cbddf94bc4 add NOLUNS quirk for UMAX S-12; from Andreas Wrede in PR kern/4849 1998-01-21 08:41:28 +00:00
cgd 10f936ff29 move the 'cd_cd' declaration back up to where it was before
the config changes were made.  Though the nature of the declaration
had to change, there wasn't a reason to change its location.
1998-01-15 19:56:03 +00:00
cgd ed81982205 #if some bug workaround code which only needs to be compiled if
ATAPI 'sd's are present.
1998-01-15 18:59:03 +00:00
cgd 3b207eaf83 add support for an ATAPI attachment for 'sd'.
fix 'cd' driver's NCD_SCSI bogosity (was using testing wrong macro!)
clean up in various ways:
* make common atapi_mode_{sense,select}() functions.
* put ATAPI data structures in more sensible headers, split up by
  device type.
* include headers a bit more carefully.
* pass flags to attachment-specific cd functions, and use them.
* get rid of SCSI bits in scsipi_base.h's scsipi_make_xs(), move
  them into the correct place in scsi_base.c.
* fix minor typo in struct name in scsipiconf.h (which was apparently
  never used except in a #define later in the same file).
* use __attribute__ to force 4-byte alignment for xs command store,
  so that architectures trying to bus_space_write_multi_N() (where
  N > 1) that data to a controller won't lose.
* clean up a few comments in typos, and make a few #defines easier to
  understand/maintain.
* rename cd_link.h to cdvar.h (via repository copy).  This is exactly
  what a 'var' file is supposed to be.
1998-01-15 02:21:27 +00:00
thorpej 93f26b5f40 Adjust for changes to config. 1998-01-12 09:49:10 +00:00
bouyer d8d77f77d6 Add a few quirk entries from OpenBSD. 1998-01-06 17:03:15 +00:00
perry fff05a68ab RCSID Police. 1998-01-05 07:31:05 +00:00
is d5ad660623 EACCESS->EROFS, for the write on readonly medium error. 1997-12-30 21:36:51 +00:00
is 00a8cd54c1 Added ST_Q_SENSE_HELP to the Archive Viper 150S quirks so that
density 0 (autosense) actually works.
1997-12-28 19:25:35 +00:00
scottr c68f17bd02 Fix a typo in a comment. 1997-12-15 07:15:57 +00:00
mikel ebdfbf958e fix typo; from Dave Sainty in PR kern/4602 1997-12-02 03:57:54 +00:00
enami 85792e35df Remove newline after printing FRU CODE instead of removing
newline before printing SKSV information.
1997-11-23 05:49:59 +00:00
thorpej d2630f4098 Declare the scsipi_xfer's "flags" member to be volatile, to force it
to be reloaded every time it is checked.  This avoids a condition where
it can be cached in a register in such a way that updates to the flags in
an interrupt handler to not be noticed, which in turn causes the process
doing the i/o to sleep forever.  Bug report and suggested fix from
Hiroshi HORIMOTO <horimoto@cs-yuugao.cs.sist.ac.jp>, PR $4460.
1997-11-20 04:09:19 +00:00
augustss 470342eec5 Recognize HP ScanJet 5p. 1997-11-19 03:03:15 +00:00
mjacob c2845107f1 If we're in the middle of opening, don't let st_interpret_sense get
into the act and return EIO or whatever when we're just eating the
initial TEST UNIT READY induced check condition.
1997-11-07 18:16:23 +00:00
bouyer 5e5babfbdc Add a quirk for a sanyo CD (From OpenBSD). 1997-11-05 22:02:41 +00:00
bouyer ce0da80741 Add NOCAPACITY quirk entry for MATSHITA CR-574, rev 1.02. 1997-10-31 09:11:06 +00:00
christos 15839e5d3d PR/4328: Matthias Scheler: Syntax errors in debug macros. 1997-10-24 15:44:42 +00:00
thorpej 75e554c27d Implement two macros, scsipi_command() and scsipi_command_direct(), and
use them to hide the structure of the function pointers we jump through
to issue a command.
1997-10-18 19:50:51 +00:00
bouyer b35651ec97 kern/4267 (Takeshi Nakayama): Add a 'len' parameter to cd_scsibus_get_mode and
cd_scsibus_set_mode, to specifie the real len of "data" we need. These
functions were broken when scsi_cd_write_params_page was added to
scsi_cd_pages, thus changing the len of scsi_cd_mode_data.
1997-10-17 17:54:33 +00:00
mycroft 8e4d927ebf Define FALSE and TRUE locally. 1997-10-16 03:16:44 +00:00
matthias 6aca6ab9a4 Apply Ian Dall's patch from kern/4004. Ian's comment:
The following patch employs a smarter adaptive polling
	scheme. It also improves the comments, in particular giving
	due credit to Phil Budne for his efforts in nunderstanding
	the device. It also relaxes the pattern for auto config so
	more devices match.
1997-10-14 11:18:18 +00:00
explorer 80513cb5ae o Make usage of /dev/random dependant on
pseudo-device   rnd                     # /dev/random and in-kernel generator
  in config files.

o Add declaration to all architectures.

o Clean up copyright message in rnd.c, rnd.h, and rndpool.c to include
  that this code is derived in part from Ted Tyso's linux code.
1997-10-13 00:46:08 +00:00
mjacob 05b9221a1a Hello? If we're doing block positioning a timeout of greater than 5 seconds
is probably going to be necessary.
1997-10-12 18:34:00 +00:00
explorer b5feb41072 Add hooks to insert timing info into the random system 1997-10-10 01:09:03 +00:00
enami 45fbe5305f Cosmetic changes;
- dereference a pointer to function explicitly.
- fold long line to fit columns < 80.
- put whitespaces around a binary operator.
- don't put a single statement into a block.
1997-10-09 00:53:28 +00:00
mjacob ba0165bec0 A) At least IBM 3590 tape drives return a NOT READY error if issued a LOAD
to BOT command- even if at BOT. Urk. B) Make READ POSITION SCSI_SILENT.
1997-10-09 00:43:26 +00:00
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