Commit Graph

3467 Commits

Author SHA1 Message Date
Stefan Eßer d54b39155a Return an extended status of XS_TIMEOUT (instead of XS_DRIVER_STUFFUP)
in case of an unspecific error (most likely software timeout after
SCSI bus reset).
This will make the generic SCSI code retry the failed command.
1995-08-13 14:59:38 +00:00
Bruce Evans 6097a1e94f Disable fifos in sioclose(). Closes PR 576. 1995-08-13 07:49:35 +00:00
Andreas Schulz b192d8d90b Correct a little typo in LINT. trouble is -> trouble if. 1995-08-12 13:40:42 +00:00
Joerg Wunsch 7fe369dc9c Document two specials of the `lpt' driver: the port address can be
specified as `?', and the irq and vector clauses may be omitted,
forcing the port into polled mode.
1995-08-11 17:18:42 +00:00
David Greenman 628641f8a6 Converted mountlist to a CIRCLEQ.
Partially obtained from: 4.4BSD-Lite2
1995-08-11 11:31:18 +00:00
David Greenman 67d7e54eb1 Be careful not to dereference NULL credentials pointers when doing the
getattr function.
1995-08-11 07:26:26 +00:00
Peter Wemm f64003830d Remove a deliberate #warning.. It's not polite, because I listed the the
driver in i386/conf/LINT...
Reviewed by:
Submitted by:
Obtained from:
1995-08-10 08:48:34 +00:00
Peter Wemm 1d0be877a4 Drat! I forgot to add this part of the Specialix Driver..
This is the firmware that is downnloaded onto the host card during boot.
Obtained from:Specialix International, via Andy Rutter <andy@acronym.co.uk>
1995-08-10 08:10:57 +00:00
Peter Wemm b77990be3e Bring in my long-overdue version of the Specialix driver.
This was originally ported to BSDI by Andy Rutter <andy@acronym.co.uk>.
At the end of the day, this code has very little in common with Andy's
version, or the Specialix SYSV version.  Essentially it has been gradually
and almost completely rewritten, with LOTS of advice and inspiration from
Bruce Evans.  There are a couple of missing bits still, but they are minor.

The user-mode "sicontrol" program is in sad shape and will come in soon.
Transparent printing died a timely death.. Maybe later..

Jeremy Rolls @ Specialix (Development directory) has confirmed this is OK
to distribute, and Andy personally sent me his version that I started from.

Although this driver stood up to a nasty stress-test in this form, I am not
confident that there are no nasty bugs lurking.

People are welcome to try it, but dont go out and buy one just yet.. :-)
And *DONT* use it on a mission-critical machine... This is ALPHA QUALITY!
1995-08-09 13:13:47 +00:00
Peter Wemm ffe1908145 Add hook for EISA probe for Specialix EISA card.
Reviewed by:
Submitted by:
Obtained from:
1995-08-09 13:00:25 +00:00
Peter Wemm c48237107d Add Specialix driver to LINT
Reviewed by:
Submitted by:
Obtained from:
1995-08-09 12:58:50 +00:00
John Dyson a4353b3b5e Fixed my usage of "asm" instead of "__asm" and "volatile" instead
of "__volatile".  Note also that the original mods that were submitted
by me were as a result of a discussion between various FreeBSD contributors.

Submitted by:	peter@haywire.dialix.com (Peter Wemm)
1995-08-09 02:39:32 +00:00
John Dyson 302cf5869a Fixed a problem that malloc(..,..,M_NOWAIT) was being called without checking
for return values.  It just so happens that in the cases where it is likely
to fail, it is okay to change the M_NOWAIT to M_WAITOK -- and all will
be well.  This problem was manfest as a panic very regularly on a 4MB
system right after bootup.
1995-08-08 05:14:40 +00:00
John Dyson 8966b85c8f Make the spl oriented inline functions less likely to allow
potentially volatile memory to be kept in registers during
the "call" (inline expansion.)  Do the same for pmap_update.
1995-08-08 04:50:52 +00:00
David Greenman b4c196550c Move mbuf frees to after call to sorflush().
Submitted by:	Matt Dillon
1995-08-08 02:22:16 +00:00
David Greenman 74ca9fa64f On closer inspection, it turns out that all of the callers of disksort
are already at splbio()...so back out the last change to disksort.
1995-08-07 14:20:27 +00:00
David Greenman 0640d91d78 Set bp->b_actf=NULL for paranoia sake. 1995-08-07 11:56:31 +00:00
David Greenman 5d210d3fd4 Since buffers can be pulled off of the disk queue at interrupt time and
disksort is called at non-interrupt time and can be actively traversing
the list when that happens, there is a very small window of vulnerability.
Close it by protecting disksort with splbio().
1995-08-07 11:55:32 +00:00
David Greenman b4224c9c6c Woops, I committed the wrong version of the diff in the last rev. 1995-08-07 08:40:49 +00:00
David Greenman 39e68756fb Use bdwrite() rather than brelse(). The cylinder group bitmap modification
is not preserved otherwise.
Note that this is a no-op in FreeBSD, however, as we have doreallocblks
disabled.

Submitted by:	Kirk McKusick
1995-08-07 08:16:32 +00:00
David Greenman 6c8897cf98 Made msgbuf range checking more robust and clean. 1995-08-07 07:58:23 +00:00
David Greenman 02d5c7b197 Restore check for msg_bufx being negative. Changed if() expression to be
in Lite2 style.
1995-08-06 22:00:17 +00:00
Joerg Wunsch 352abcd4a7 Extentd David's recent change to shutdown_nice() by calling
cpu_reset() directly in case init(8) is *not* running.
1995-08-06 19:45:34 +00:00
Jordan K. Hubbard 78f1a844fb Allow a pipe to be opened read/write at one end, as is allowed in
SunOS and SCO.  You can then even use the pipe as a cheap fifo stack
(yuck!).  A semantic change also important (but not limited) to iBCS2
compatibility.
Submitted by:	swallace
1995-08-06 16:14:21 +00:00
David Greenman d63abe4172 Resize both VMIO and non-VMIO buffers if the size changes. 1995-08-06 12:10:39 +00:00
David Greenman a8ce4271e2 Removed redundant call to vm_object_page_clean: this is already handled
by vfs_msync().
1995-08-06 11:59:48 +00:00
David Greenman b6dedae69b Removed redundant call to vm_object_page_clean - this is already done
in vfs_msync().
1995-08-06 11:56:42 +00:00
David Greenman 75d8591e04 Fixed bug where vnode_pager_uncache() wasn't always called when it should
be. The result was that the file's space wouldn't be properly freed when
it was deleted.

Submitted by:	John Dyson
1995-08-06 11:55:25 +00:00
Justin T. Gibbs 1b2a3cf51a Clean up the mesgin code to make it easier to read with proceedure lables
that are based on what mesage is being processed instead of just numbers.

Order the tests for incoming message type by level of occurance.
1995-08-06 05:15:45 +00:00
Peter Wemm 958c15a053 Grab next major (68) for the Specialix SI/XIO driver which is due to
come in RSN.  As Jordan said "First in, first served.."
1995-08-05 21:33:04 +00:00
Justin T. Gibbs c83d01159a Update the SCB controll byte bit definitions to match new SCB_DISCENB bit.
Remove "#ifdef NOT_YET"s since the features they pertain too are committed
now.
1995-08-05 17:32:55 +00:00
Justin T. Gibbs 71fb7601c2 Total rewrite of the dataphase sections of the sequencer. This was done
to replace the very poor, original implementation of Scatter/Gather operations.

Use a bit (that was freed up with the rewrite above) in the SCB control byte
to designate commands that should allow disconnection.  The kernel driver
makes this decision now instead of the sequencer since the sequencer can't
do the indexing very efficiently.

This commit drops the sequencer from 426 instructions to 390 most likely
freeing enough space to do a target mode implementation.
1995-08-05 17:31:39 +00:00
David Greenman 8936e636af Add back $Id$ that got nuked in rev 1.6. 1995-08-05 07:39:02 +00:00
Justin T. Gibbs 116616a829 Fix two race conditions.
The first could occur because the original code would continue to reset
the SCSIID register while waiting for a selection.  This could potentially
conflict with a reconnect since a successfull reconnect will also set the
SCSIID register.  The fix is to use a separate wait loop after starting
a selection (as was done a few revisions ago).

The second probably never happens, but it was possible for a target to
reconnect while there was a pending SCB on the waiting list and not get
noticed.  The fix was to remove a supurflous check of the scb waiting
list.
1995-08-05 06:59:17 +00:00
David Greenman 7221ecc0ba Use the correct flags (IO_SYNC -> B_SYNC) when deciding to do a sync or
async write in the section that changes the filesize. The bug resulted
in the updates always being async.

Obtained from:	4.4BSD-Lite2
1995-08-04 05:49:17 +00:00
Doug Rabson d2f25f26b5 Make sure that a non-null cookie vector is returned even if there were no
valid entries in the block.  Doing otherwise confuses the nfs server.
1995-08-03 12:17:35 +00:00
Doug Rabson 7faccad982 Slight changes to locking around VOP_READRIR.
Detect in nfsrv_readdirplus when a filesystem soes not support VFS_VGET and
return NFSERR_NOTSUPP so that the client will use ordinary readdir instead.
1995-08-03 12:14:16 +00:00
Doug Rabson 94a8606f1b Add support for the va_filerev attribute required by NFSv3. 1995-08-02 13:00:40 +00:00
Andrey A. Chernov e581051d3d Preserve current termios speed for TIOCSET*, if it matched with
nearest valid. It means that gtty+stty transaction (without speed
change) not breaks non-standard speeds now.
1995-08-02 12:53:14 +00:00
Andrey A. Chernov 4e5f73581c Better approximation for TIOCGETP (gtty) for non-standard speeds.
Old variant returns 38400 for them, now it returns nearest matched
rounded down, expect speeds in range 0 > speed < 50 rounded up
to not produce hangup.
1995-08-02 12:03:12 +00:00
Andrey A. Chernov 29ae13ad3c Back out predefined termios speeds check, it can cause troubles
with interaction pty <-> serial driver with non-standard speed.
So, nothing protect us from garbadge in speed field, expect
checking for < 0 left in tty.c :-(
1995-08-02 11:26:50 +00:00
Andrey A. Chernov f49f5fa852 Allow any speed from 0..76800
Reviewed by:
Submitted by:
Obtained from:
1995-08-02 10:17:35 +00:00
Doug Rabson a2c06d4685 Lock the directory vnode before VOP_READDIR in nfsrv_readdirplus 1995-08-02 10:12:47 +00:00
Andrey A. Chernov af2a00bbbc Check for valid speed values in pty drive
Check for negative speed values in tty drive
Back out valid speed values checking from tty drive
Suggested by: bde
1995-08-02 06:55:36 +00:00
Bruce Evans 76107ba3af Don't set TS_ZOMBIE flag for non-open ptys. ptcclose() has always done
too much for non-open ptys, but there is normally no problem because the
l_modem(, 0) is a no-op for closed ptys provided the line discipline is
standard and MDMBUF isn't set.
1995-08-02 02:55:47 +00:00
Andrey A. Chernov 271381b3b8 Optimize a bit valid speed search using fact that speed table sorted
Submitted by:
Obtained from:
1995-08-01 23:38:00 +00:00
Andrey A. Chernov 7a82fc7855 Check for valid speeds in TIOCSET* and return EINVAL for incorrect
values instead of setting garbadge.
1995-08-01 23:27:36 +00:00
David Greenman 4777741358 Removed my special-case hack for VOP_LINK and fixed the problem with the
wrong vp's ops vector being used by changing the VOP_LINK's argument order.
The special-case hack doesn't go far enough and breaks the generic
bypass routine used in some non-leaf filesystems. Pointed out by Kirk
McKusick.
1995-08-01 18:51:02 +00:00
Jordan K. Hubbard d660e3ae8d Sync to author's Version 1.3.
Submitted by:	james
1995-08-01 07:07:42 +00:00
Jordan K. Hubbard a2048b9c26 Sync to reality for the Gravis Ultrasound MAX card. 1995-08-01 07:05:16 +00:00