Commit Graph

389 Commits

Author SHA1 Message Date
julian
37c51920d5 An effort to make SLICE/DEVFS play with SCSI.
Apparently I didn't make my plans to make dev_t and devsw[] go away
under DEVFS quite clear enough to Peter Dufault as he stitched the SCSI
system together using them when he redid the configuration side of things.
This made is rather an effort to remove all vestiges of dev_t and
devsw[] entries from sd.c in DEVFS/SLICE mode.
1998-05-07 12:13:47 +00:00
julian
a64c77cceb cleanup: remove duplicated dump code.
fix oversight on SLICE ioctl code.
1998-05-07 02:05:21 +00:00
julian
0cb054bfea Add dump support to the DEVFS/slice code.
now we can actually catch our crashes :-)

Submitted by: Luoqi Chen <luoqi@chen.ml.org> (the man who's everywhere)
1998-05-06 22:14:48 +00:00
phk
9739c7039d The CHIOGSTATUS ioctl of the SCSI media changer driver (sys/scsi/ch.c)
is broken.  It omits the SCSI_DATA_IN flag in the SCSI READ ELEMENT
STATUS command, which makes the 'chio status' command fail.

PR:		6528
Reviewed by:	phk
Submitted by:	Hans Huebner <hans@artcom.de>
1998-05-06 09:11:20 +00:00
des
1e8b395cf1 Fixed spelling of "fictitious" in diagnostics and comments
PR:		kern/6429
1998-04-27 11:36:06 +00:00
julian
db37f632a0 close() is no longer a SLICE method.
Close is simply an open with no-read and no-write once internal to SLICE
(it still exports a close to the rest of the kernel)
1998-04-22 10:25:27 +00:00
julian
0796a5c56e Add changes and code to implement a functional DEVFS.
This code will be turned on with the TWO options
DEVFS and SLICE. (see LINT)
Two labels PRE_DEVFS_SLICE and POST_DEVFS_SLICE will deliniate these changes.

/dev will be automatically mounted by init (thanks phk)
on bootup. See /sys/dev/slice/slice.4 for more info.
All code should act the same without these options enabled.

Mike Smith, Poul Henning Kamp, Soeren, and a few dozen others

This code does not support the following:
bad144 handling.
Persistance. (My head is still hurting from the last time we discussed this)
ATAPI flopies are not handled by the SLICE code yet.

When this code is running, all major numbers are arbitrary and COULD
be dynamically assigned. (this is not done, for POLA only)
Minor numbers for disk slices ARE arbitray and dynamically assigned.
1998-04-19 23:32:49 +00:00
des
396b114475 Seventy-odd "its" / "it's" typos in comments fixed as per kern/6108. 1998-04-17 22:37:19 +00:00
peter
bee3002b7d Attempt to fix BOUNCE_BUFFERS. I cannot test these drivers, but they
seem to compile OK with the bounce buffer mods.  I have only visually
checked for missing bounce buffer support, I could have missed some.
1998-04-16 12:28:31 +00:00
peter
8c412834a4 Attempt to get bounce_buffers working again for per-process kernel stack
data targets.  At least st0 works for me again....
Also, scsi_scsi_cmd() looks like it's been exiting without a biodone() on
an attached buffer in a number of error cases, leading to locked buffers.
1998-04-16 11:15:23 +00:00
peter
b8ece98820 fix an obvious broken BOUNCE_BUFFER case. 1998-04-16 10:35:50 +00:00
bde
b598f559b2 Support compiling with `gcc -ansi'. 1998-04-15 17:47:40 +00:00
jmz
be9710b507 Add an ioctl to retrieve the next writable address.
Defer the WRITE SESSION command until the first write command, so that
it works like the prepare track command, allowing the device to be
closed after the command.
1998-03-31 01:56:29 +00:00
bde
cd450d6714 Moved some #includes from <sys/param.h> nearer to where they are actually
used.
1998-03-28 10:33:27 +00:00
jkh
34daaf7b2b Add a quirk entry for IO DATA CDC-TX86 6 CD changer.
PR:		5942
Submitted by:	Masanao Sasai <m_sasai@mxa.meshnet.ne.jp>
1998-03-08 06:52:45 +00:00
bde
999552194c Don't depend on "implicit int". 1998-02-20 13:37:40 +00:00
msmith
cd0d6c381a Put the SC_Q_NO_TAGS value in the correct field for the Iomega Jaz quirk
entry, and move it down with the other NO_TAGS device.
Submitted by:	bde
1998-02-18 09:40:54 +00:00
eivind
a5daa0b2f8 Add HW_WDOG to LINT, and turn it into a new-style option. 1998-02-16 23:57:49 +00:00
msmith
b17459b428 Based on the following message, disable tagged command queueing for all
Iomaga Jaz drives.

From: Steve Logue <stevel@mail.cdsnet.net>
To: freebsd-current@freebsd.org, freebsd-scsi@freebsd.org
Subject: Jaz Drives / Tagged Command Queuing

FreeBSD Lists,

Due to my own problems as the owner of a Jaz drive, I have gotten word
from Iomega that confirms the state of Tagged Command Queuing as the
underlying problem.  There is an error in all Jaz, and Jaz2 drives prior
to BIOS level J.86 that has not shipped yet.  Read the following, and
make the appropriate corrections to your system present, and future:

> Steve,
>
> I got a very fast response from the hardware engineer (Jaz and Jaz 2
> designer).  The problem is this - The Jaz drive does not support
> command queing, and revisions older than J.86 do not report it correctly.
> For example, when your SCSI adapter says "I'm going to use command
> queing" to the Jaz drive, the drive answers "OK, lets go", even though its
> not supported.  The J.86 drives will now answer "Sorry, command
> queing is not supported".  Iomega does not have any current plans to
> support command queing.
>
> Thank's for your report, I will continue to forward it to the hardware
> engineers.

-STEVEl
--
---------------------------------------------------------------------
  Steve Logue                        http://home.cdsnet.net/~stevel
  Systems Integration                                    nettek LLC
---------------------------------------------------------------------

Submitted by:	Steve Logue <stevel@mail.cdsnet.net>
1998-02-16 11:15:35 +00:00
eivind
d7a6ab2803 Staticize. 1998-02-09 06:11:36 +00:00
wollman
81f0e56cf6 Serves me right for committing code late at night...
Fix the SCIOCGETDEVINFO code so that it compiles, and while I'm at it,
add support for human-readable device names so that I don't have
to call devname(3) on  the scd->dev to get it.
1998-02-01 18:09:50 +00:00
wollman
f3d9b9b0a4 Add a new ioctl, SCSIOCGETDEVINFO, which takes a device ID and uses it
to look up information about that device.  Right now, all it does
is give back the dev_t for the device, if known, since that's all
I needed, but hopefully the SCSI mavens will come up with a more generally
useful structure.
1998-02-01 04:13:13 +00:00
eivind
71ddd31390 Make all file-system (MFS, FFS, NFS, LFS, DEVFS) related option new-style.
This introduce an xxxFS_BOOT for each of the rootable filesystems.
(Presently not required, but encouraged to allow a smooth move of option *FS
to opt_dontuse.h later.)

LFS is temporarily disabled, and will be re-enabled tomorrow.
1998-01-24 02:54:56 +00:00
ache
9059b3b040 Add SCSI-SCSI RAID from Infotrand as known device 1998-01-21 08:03:37 +00:00
julian
868a198eda the pt driver should make one DEVFS entry for each one found rather than
just one for the whole system..
1998-01-06 08:28:46 +00:00
nate
00293d1a14 - Accept all models of the HP C1553A tape series as usable tapes. This
is necessary for my tape drive to be found, since it's apparently a
  later model.
1997-12-30 22:26:51 +00:00
julian
5ff3bce59b move punchline of joke up to rest of joke. (got moved by useful edits) 1997-12-30 04:19:54 +00:00
julian
a13419db88 If available, use the device's LOGICAL blocksize as reported by
the "READ_CAPACITY" command, rather than the physical blocksize
reported in the physical geometry code-page.

Also don't print out worrying bogus messages when probing a
device that has no media. There's no point in printing out
something that is unknowable. It just confuses things.

Move the check for valid blocksize out of 'open()' to the subroutine
that actually finds this out, thus probe/attach can also report and
act on the problem.
1997-12-29 07:49:31 +00:00
julian
2519865571 back out previous commit
got a better version.
1997-12-28 09:10:37 +00:00
julian
e8593c05aa Move the sector size check to the right place,
also cope with some drives that return funny values.
The correct fix will come in a few days.
1997-12-28 07:10:54 +00:00
joerg
57a71c2f00 Fix some breakage that prevented the Plasmon burners from being used
under -current.  The actual preparation of the next track will now be
deferred until just before the first write operation.  Otherwise,
opening the device with write intent will cause the execution of
commands that are illegal in `limited command set mode' (i.e., after
the write channel has been opened).

While i was at it, cleaned up the worm_open() function a bit.

Removed the volume overflow pre-check in worm_strategy().  It was
time-consuming, and rather useless in many cases anyway (with the size
being reported for just the entire volume only), so we can as well let
the actual SCSI command fail instead, where it'll properly be reported
as EIO.

Partially submitted by & discussed with: jmz
1997-12-26 14:52:29 +00:00
brian
9672a80ab3 Add a PARITITON arg to SCSI_MKFIXED, and use it to
specify RAW_PART for the suopen() in sscioctl().

Now you can `scsi -f /dev/ssc -p'.
1997-12-23 19:44:45 +00:00
joerg
efc02439ae Duplicate the entry for the Plasmon CD-R device, so both possibilities
(read/only and write/once) will be covered.  This is necessary in order
to fill in the proper device information record.
1997-12-20 23:05:14 +00:00
joerg
3de8948e8c Protect against a null pointer dereferencation in the case of an
unknown drive.  Such a drive will be configured by worm(4)
nevertheless (albeit with a warning), but cannot be opened except of
the SCSI control device (so scsi(8) or cdrecord will continue to
work).
1997-12-20 23:03:49 +00:00
bde
6fd5d1abfc Ifdefed some conditionally used declarations. 1997-12-20 00:28:49 +00:00
bde
b1d53f05b1 Removed a stray semicolon. 1997-12-20 00:27:03 +00:00
jraynard
acf3f6c346 Allow slow SCSI CDROMs more time to start up.
PR:		5181
Submitted by:	Wilko Bulte <wilko@yedi.iaf.nl>
1997-12-14 00:32:33 +00:00
bde
f3274407b4 Use ENOIOCTL instead of -1 (= ERESTART) for diskslice ioctls that are
not handled at a particular level.
1997-12-06 14:27:56 +00:00
phk
a1bfb618d9 In all such uses of struct buf: 's/b_un.b_addr/b_data/g' 1997-12-02 21:07:20 +00:00
bde
f885907fbd Fixed misuse of O_ACCMODE. Cosmetic.
Not fixed in:	sound driver
1997-11-23 11:56:18 +00:00
bde
97507ffc6d Fixed the sector size frobbing in sd_strategy() at least not to
break for the usual sector size.  dscheck() adjusts b_bcount to
handle EOF, so we must scale it and not preserve it.  i/o beyond
the end of partitions has been broken since rev.1.96.

Not fixed in:	od driver
1997-11-23 11:30:42 +00:00
phk
4d26888936 Remove a bunch of variables which were unused both in GENERIC and LINT.
Found by:	-Wunused
1997-11-07 08:53:44 +00:00
joerg
7fafb4ffea Make the Nakamichi CD-ROM changer detection detect more recent devices,
too.
1997-11-06 08:29:50 +00:00
jmz
67b46d7b0f Use a MODE SELECT command to reset the block size, instead of calling the
prepare_track() function, which caused fixation problems with some drives.
1997-10-27 21:09:27 +00:00
joerg
2588496dc9 Make the Sun OEM version of the DLT a known multi-LUN device so changers
will work.

PR:		kern/4802
Submitted by:	dawes@physics.usyd.edu.au (David Dawes)
1997-10-19 09:37:49 +00:00
joerg
7694ff8663 Remove the call to scsi_start_unit() from sd_open(). It was causing
much grieve to owners of IBM drives when used in conjunction with
tagged command queuing, and didn't serve any purpose at all (since
experiments have proven that it simply didn't work).

Instead, call scsi_start_unit() once in sd_attach(), so in case the
drive has been configured to `remote start', it will spin up there.
(If it has spun down later, it must have been because of administrator
action (scsi(8)) anyway.)

While i was at it, bump the timeout for scsi_start_unit() to 30
seconds.  10 seconds were way too few for most drives.
1997-10-12 08:54:47 +00:00
joerg
98a16a5fd3 Add the REGAL CDC-4X as a known CD-ROM changer device.
Submitted by:	shanee@augusta.de (Andreas Kohout)
1997-10-05 13:38:17 +00:00
gibbs
045b17cf00 Convert to use the new bufq* functions for dealing with buffer
queues.
1997-09-21 22:03:22 +00:00
msmith
9beb19603d Remove line noise from the quirk list (kernel build stopper) 1997-09-18 00:15:55 +00:00
joerg
3f01bad7d7 Add the C1557A as a known tape changer (thus non-broken multi-LUN tape
device).

Submitted by:	Andre.Albsmeier@mchp.siemens.de (Andre Albsmeier)
1997-09-17 21:49:06 +00:00