Commit Graph

452 Commits

Author SHA1 Message Date
mjacob
a228166c1a oh, for goodness sake, define the bloody Sense Keys... 1998-07-01 17:04:31 +00:00
thorpej
1a2cb1b9d4 defopt COMPAT_FREEBSD 1998-06-25 22:49:18 +00:00
mjacob
8f99277d94 When printing an error, print more than just the opcode. Print the
entire CDB, whose length is actually deterministic. This makes a *big*
difference when actually trying to bind errors to commands.
1998-06-24 18:36:25 +00:00
mjacob
60d04853b7 add the SCSI-2/SCSI-3 Group ID definitions 1998-06-24 00:29:39 +00:00
bouyer
f7fbb1462b Ricoh IS60 to the quirk table (SDEV_NOLUN). Fixes PR 5473 by
Feico Dillema < dillema@acm.org>
1998-06-22 13:19:09 +00:00
bouyer
eeb09bb8c8 Treat OSCIOCIDENTIFY just as SCIOCIDENTIFY regarding permissions, don't
require the file descriptor to be open read/write. Fix PR kern/5592
from John F. Woods.
1998-06-15 08:16:01 +00:00
cgd
651b44e211 Rework the way kernel include files are installed. In the new method,
as with user-land programs, include files are installed by each directory
in the tree that has includes to install.  (This allows more flexibility
as to what gets installed, makes 'partial installs' easier, and gives us
more options as to which machines' includes get installed at any given
time.)  The old SYS_INCLUDES={symlinks,copies} behaviours are _both_
still supported, though at least one bug in the 'symlinks' case is
fixed by this change.  Include files can't be build before installation,
so directories that have includes as targets (e.g. dev/pci) have to move
those targets into a different Makefile.
1998-06-12 23:22:30 +00:00
thorpej
b121e9e772 Add a shutdown hook for SCSI-2 and higher disks that issues a SYNCHRONIZE CACHE
operation with address 0 length 0, which, according to the SCSI-2 spec, should
be interpreted as "synchronize all remaining blocks beginning at address 0".
1998-06-10 22:17:39 +00:00
thorpej
a3db0f915e Define the SYNCHRONIZE CACHE command. 1998-06-09 19:03:24 +00:00
thorpej
4b69f3a465 The DEC RRD42 doesn't deal with LUNs very well either.
kern/5376, Simon Burge <simonb@telstra.com.au>
1998-05-04 05:56:31 +00:00
thorpej
cbaec857db Add the UMAX Astra 1200S scanner to the list of the LUN-clueless.
kern/5390, Rene Hexel <rh@vip.at>
1998-05-04 05:54:09 +00:00
explorer
63babb7549 Ignore LUN on yet another cdrom 1998-04-23 00:38:01 +00:00
pk
84d2c38974 Set a flag during auto-configuration, so SCSI_AUTOCONF can be passed
when doing additional I/O from the scanner attach functions.
1998-04-22 19:44:18 +00:00
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