Commit Graph

3045 Commits

Author SHA1 Message Date
ache
cd052cdfd3 Implement SLIOCSUNIT (set slip unit number) 1995-04-28 18:47:29 +00:00
ache
9e8517e291 Implement POSIX SAVED_IDS for setuid/setgid 1995-04-28 18:17:29 +00:00
ache
a94803da3b setre*(): simplify return scheme, pointed by Bruce 1995-04-28 17:00:27 +00:00
dufault
8375603f2f Rename "aio.h" to "dataacq.h" 1995-04-28 12:08:03 +00:00
dufault
0391b2aa5a Renamed "aio.h" as <sys/dataacq.h>. 1995-04-28 12:05:36 +00:00
sos
7cfd1d3ac2 Added nsccons variable for use by pstat
Submitted by:	 ache
1995-04-28 09:10:56 +00:00
dufault
6702bdcc1b Add National Instruments "LabPC" driver 1995-04-28 00:51:40 +00:00
ache
775ad02c2d Implement setreuid/setregid according to SunOS manpage 1995-04-27 19:23:24 +00:00
phk
82051ce6fc New and improved version from the author.
Submitted by:	DI. Christian Gusenbauer <cg@fimp01.fim.uni-linz.ac.at>
1995-04-27 18:22:36 +00:00
gibbs
6d4922284e Additions to support the WAITING_SCB list that the sequencer maintains.
It is the kernel driver's responsibility to do the list manipulation whenever
a selection timeout or a request sense occurs.

Print out the interrupt type that the device has been set to.  It seems that
one of the Asus motherboards botches this and David thought a diagnostic would
be nice.

Fix a bug in my diagnostic code that David found.

Reviewed by: Wcarchive and David Greenman
1995-04-27 17:47:17 +00:00
gibbs
59c33f4bae Restructure the arbitration loop to allow for reselections that win out over
the adapter's selections.  Many fast periferals were getting upset when
the sequencer decided to rearbitrate after the device had already won
arbitration.  This also forced the creation of a list threaded through
the SCBs (since we don't have enough space anywhere else) of commands that
are awaiting reselection.  This list is run down before any new transactions
from the input queue are allowed.  The list is appened to whenever we begin
a selection (simple case since the selecting device is always at the head)
and by the kernel driver whenever a request sense occurs.  In the common
case, the list is only one element long, but when a reselection wins out
over a selection and that reselection generates a request sense, the
outstanding selection required for the retreval of the sense code grows
the list.  On machines with many targets, this might cause the list to grow
large, so this solution, which will allow up to the maximum number of I/O
requests capible of the card elements in the list, was chosen.  The list
manipulation is trivial and adds three sequencer instructions of overhead
to the selection phase.

This fixes the "target busy" errors from micropolis drives and the bursty
I/O problem when performing I/O between a Quantum Grand Prix and any other
device.  I anticipate that this will correct many of the problems that
have been reported with this driver.

Reviewed by: Wcarchive and David Greenman
1995-04-27 17:44:27 +00:00
pst
deaecc49c4 Add queue.h include file to all the TPIP code. 1995-04-26 21:32:42 +00:00
pst
321a03d090 Cleanup loopback interface support.
Reviewed by:	wollman
1995-04-26 18:10:58 +00:00
rgrimes
c44d8d8392 Add outb to keyboard controller to do a cpu_reset, this fixes 2 known
cases of motherboards that failed to reboot.
1995-04-26 07:38:35 +00:00
wollman
27a554f1ab Disallow half-configured point-to-point interfaces. It's still possible to
get into a half-configured state by using the old-style ioctls;this
may be a feature.
1995-04-25 19:50:20 +00:00
wollman
e4b7887b8f Finally finish the cloning cleanup work by making sure that clones
go away whenever a clone's parent is changed, or a route is added in a
certain set of circumstances.

This also includes code to forbid setting a route's gateway to an
address which can only be reached through that route, thus (hopefully)
eliminating one class of cloning bottomless-recursion bugs.
1995-04-25 19:12:07 +00:00
bde
e565b4e20c Fix benign type mismatches int console functions. dev_t was assumed
to be `int' or smaller and some functions returned `int' instead
of `void'.  The first bug was detected when console functions were
defined in a place central enough for type checking to actually
work and the second bug was introduced when the interface was
changed to match what the console functions in other drivers actually
return.
1995-04-25 12:18:05 +00:00
sos
a78406f8de Added mark_all() call so that screen is proberly updated
when scroll-lock history is disengaged.
1995-04-25 10:22:28 +00:00
dg
b25e489488 Fixed a "bswbuf" hang caused by the wakeup in relpbuf() waking up the
wrong thing.
1995-04-25 06:22:47 +00:00
phk
5c63e83231 Document MFS_ROOT option. 1995-04-25 03:44:04 +00:00
phk
e90c15cdbc Add support for MFS root filesystem. 1995-04-25 03:41:12 +00:00
phk
4ebce87282 Add a printf so we can see where we get our rootfs from. 1995-04-25 03:39:50 +00:00
dyson
f7df1ceb91 Fixed the mmap hang fix previously committed so that it works
with options DIAGNOSTIC, and clear up an additional reference
count problem.
1995-04-25 03:32:37 +00:00
bde
561ff63fef Add ioctls DIOCGSLICEINFO and DIOCSYNCSLICEINFO. The latter isn't
finished or tested.
1995-04-24 17:07:08 +00:00
bde
04e93468c1 Undo the move of `#include "sc.h"' etc. to cons.h. It broke anything
that includes <machine/cons.h>.
1995-04-24 16:43:01 +00:00
bde
1c2d6a2544 Make bad144 debugging code conditional on ds_debug. 1995-04-24 06:04:36 +00:00
phk
28d3577e2f Added "bio" to matcd. 1995-04-24 05:33:59 +00:00
dyson
c6edfe5c18 Changes to get rid of ufslk2 hangs when doing read/write to/from
mmap regions that are in the same file as the read/write.
1995-04-24 05:13:28 +00:00
phk
10b29892d6 Changes John's handling of the flags a little bit, added a new one,
(0x4000 == sleephack) to handle disks which are confused after a sleep.
Fixed a spelling error.
1995-04-24 05:12:29 +00:00
phk
73dfc28398 Did a s/[ \t]*$// 1995-04-24 05:09:53 +00:00
dyson
eaa75af775 Implemented the multi-sector I/O enable and the 32 bit I/O probe
through the use of the config file flags as opposed to the option
"NSECS_MULTI".  "NSECS_MULTI" has been removed from the driver.
The new capability allows boot-time modification of the config.
1995-04-24 04:32:31 +00:00
dyson
7d9a28320b Removed the NSECS_MULTI option, and implemented both 32 bit probe
enable and multi-sector I/O enable by using the controller or device
flags capability.  Per a suggestion by phk.
1995-04-24 04:30:19 +00:00
jkh
b44f4f1582 I noticed that some new -W options had been turned on the kernel compile since
I made the changes I sent you before.  In the interests of cleanliness, I made
modifications to /sys/i386/isa/tw.c to kill the warnings and make it compile
clean.  While I was at it, I also made a bunch of internal functions static.
Submitted by:	Gene Stark <gene@starkhome.cs.sunysb.edu>
1995-04-24 01:39:55 +00:00
gibbs
2606a8d910 Set SCSI_NOSLEEP only when we really need to. This requires an additional
flags parameter to all xxstart routines so that the correct information can
be passed down into the device specific routines.  This is needed to ensure
that ccb/scb allocation routines don't hang.

Submitted by: John Dyson
1995-04-23 22:07:56 +00:00
gibbs
08c21a38d3 Don't arbitrarily set SCSI_NOSLEEP. It is now handled correctly by the
higher level scsi code.

Spls should never be conditionalized, so don't do so here.

Restructure the get_scb routine so that we can't get into an infinite
loop if the ccbs are exhausted and we are are called with SCSI_NOSLEEP set.

Other driver maintainer's that based their scb allocation routines on Julian's
code should look at these changes and implement them for their driver.

The aic7xxx driver inspired these changes because early revs of the
aic7770 chips have so few SCBs that you can actually run out.  If you
have a rev C or aic7770 (as is reported by the driver probe) and had more
than 2 drives, you could get into an infinite loop when using up all of
the SCBs.  Since the driver will only allow two SCBs per device and I
only had two devices, I never saw this problem on my Rev C card.

Bzero only 19 bytes of the scb instead of 2k (ack!).  This was a hold
over from when a struct SCB only contained the information downloaded
to the board, but we now store kernel driver data in there as well.  This
greatly lowers the overhead for small transactions (I get ~1MB/sec for
dds with a 512 byte block size).

Submitted by: John Dyson with the aic7xxx specific optimization by me
1995-04-23 22:04:58 +00:00
gibbs
8248293bc2 Don't arbitrarily set SCSI_NOSLEEP. It is now handled correctly by the
higher level scsi code.

Spls should never be conditionalized, so don't do so here.

Restructure the get_ccb routine so that we can't get into an infinite
loop if the ccbs are exhausted and we are are called with SCSI_NOSLEEP set.

Other driver maintainer's that based their ccb allocation routines on Julian's
code should look at these changes and implement them for their driver.

Submitted by: John Dyson
1995-04-23 21:58:35 +00:00
wollman
c6114479a8 Added `fe' device drive r for Fujitsu MB86960A family.
Submitted by: M.S. <seki@sysrap.cs.fujitsu.co.jp>
1995-04-23 18:31:50 +00:00
wollman
cd11f8b168 Substantially clean up LINT and add `fe'. 1995-04-23 18:30:27 +00:00
bde
6ae9ef4d08 Declare the console switch functions completely.
Move declarations of console functions to cons.h (they should be
config(8)ed).
1995-04-23 12:55:55 +00:00
bde
bca0e031b5 Move declarations of console functions to cons.h (they should be
config(8)ed).

Update other misplaced prototypes.
1995-04-23 12:41:57 +00:00
ache
45c940b5a0 Make setreuid/setregid active syscalls 1995-04-23 12:22:06 +00:00
bde
c351f3cb48 Correct the type of the `c' arg to pccnputc().
Move declarations of console functions to cons.h so that they can't be
defined inconsistently in several places.  They should be config(8)ed.
1995-04-23 10:15:42 +00:00
bde
222122e04d Declare d_dump_t and d_mmap_t completely. Nothing depends on the
incomplete declarations here any more.  Some things depend on
incomplete declarations elsewhere.  The `offset' arg to d_mmap_t is
bogus (it is `int' but should be `vm_offset_t') but it is what the
driver mmap functions actually accept, although they are passed a
`vm_offset_t'.

Function declararions in headers should always be complete to avoid
warnings from `gcc -Wstrict-prototypes' for compiling modules that
don't even use the offending declarations.
1995-04-23 09:36:59 +00:00
julian
6dce5d98db hmm spotted a difference resulting from a merge I didn't examine close enough 1995-04-23 09:17:24 +00:00
julian
a54d9b63a5 include hooks for EISA configuration (possibly wrong :) 1995-04-23 09:13:08 +00:00
julian
ae0cae0135 include new files for EISA configuration 1995-04-23 09:12:00 +00:00
julian
1814d0bcea files for the eisa specific autoconfiguration..
don't expect this to work yet.. but at least they're here..
(hey this cvs stuff is fun!)

activate with a line exactly like the isa line in the config file,
(but specifying eisa :)
patches to come..
1995-04-23 08:55:43 +00:00
bde
a8edf3d909 Correct the type of the `acflag' arg to suser(). 1995-04-23 08:31:02 +00:00
bde
45be4b20c8 inline -> __inline.
Headers should always use `__inline' for inline functions to avoid
syntax errors when modules that don't even use the offending functions
are compiled with `gcc -ansi'.
1995-04-23 08:05:49 +00:00
bde
a8bc895edc Don't export a bogus include to half the universe. 1995-04-23 07:47:12 +00:00