Commit Graph

3231 Commits

Author SHA1 Message Date
dg
6d9a56d4ef Unlock the vnode before sleeping on an OBJ_DEAD object. Should fix Bruce's
hang. Fixed some formatting anomolies and removed some unneeded casts.
1995-05-10 18:59:11 +00:00
dg
a2a89cc5d7 Changed "handle" from type caddr_t to void *; "handle" is several different
types of pointers, and "char *" is a bad choice for the type.
1995-05-10 18:56:09 +00:00
wollman
ff339a1a6d Updated routing-socket code from Berkeley
Obtained from: Keith Bostic by way of Paul Traina
1995-05-10 16:48:52 +00:00
rgrimes
3d8176d680 Submitted by: wpaul (with 2 lines moved by rgrimes)
Add support for kern_devconf structure.
1995-05-10 15:19:29 +00:00
bde
5171ec5bb1 Submitted by: Mike Pritchard <pritc003@maroon.tc.umn.edu>
msdosfs_lookup() did no validation to see if the caller was validated
to delete/rename/create files.  msdosfs_setattr() did no validation
to see if the caller was allowed to change the file permissions (turn
on/off the write bit) or update the file modification time (utimes).

The routines were fixed to validate the calls just like ufs does.
1995-05-09 16:30:45 +00:00
dg
522567dac1 Replaced some bcopy()'s with memcpy()'s so that gcc while inline/optimize. 1995-05-09 13:35:48 +00:00
olah
e994f8f005 Fix a misspelled constant in tcp_input.c.
On Tue, 09 May 1995 04:35:27 PDT, Richard Stevens wrote:
> In tcp_dooptions() under the case TCPOPT_CC there is an assignment
>
>       to->to_flag |= TCPOPT_CC;
>
> that should be
>
>       to->to_flag |= TOF_CC;
>
> I haven't thought through the ramifications of what's been happening ...
>
>       Rich Stevens

Submitted by:	rstevens@noao.edu (Richard Stevens)
1995-05-09 12:32:06 +00:00
rgrimes
9b4f2eba57 Fix -Wformat warnings, still need to do something about %b and pointer
type args.
1995-05-09 12:26:00 +00:00
rgrimes
e443efbf8d Rewrite the MCD_TRACE macro to be a varargs macro so that the extraneous
arguments to printf could be fixed.

Correct all but 1 -Wformat warning.  Some would have caused garbage to
be printed due to missing args!
1995-05-09 11:39:40 +00:00
dyson
46e02306e2 Added bounce support for user scsi requests.
Reviewed by:	David Greenman
1995-05-09 02:38:15 +00:00
phk
3b65c5079e Cleanup to the INET part of lpt.c.
Reviewed by:	phk
Submitted by:	pst
1995-05-09 01:33:16 +00:00
dg
259aeee121 Improved hashinit panic strings. 1995-05-08 23:11:12 +00:00
pst
db10ed51dd Correction, Jim Lowe is the author... Getting code to work right is far
easier than writing the comments. :-(
1995-05-08 19:42:00 +00:00
pst
e165d9c4c7 Update copyright notice to properly reflect that this was original work
by James Miller (sorry Jim).
1995-05-08 19:34:16 +00:00
bde
da9e45c7bd sdsize() didn't open a device often enough. This caused swap partitions on
slices other than the first slice looked at to be unavailable for swapping.
1995-05-08 16:53:33 +00:00
bde
7f38b208c8 Fix numerous bugs in wdsize().
It closed the wrong device (usually the B partition instead of the C
partition).
It closed a device without having opened it.
It didn't open a device often enough.  This caused swap partitions on
slices other than the first slice looked at to be unavailable for swapping.
It didn't check the device number sufficiently.
1995-05-08 16:48:23 +00:00
bde
53382aa723 Declare dssize(). 1995-05-08 16:27:10 +00:00
bde
ca5a771ab4 Fix reopening of open subdevices for DIOCSYNCSLICEINFO:
Reopen the bdev for the raw partition and not the cdev if only the bdev
was open.
Don't use a bogus limit for the number of partitions to possibly reopen
(bug found by Julian).

Add function dssize() to help fix wdsize() and sdsize().  The slice
layer knows more about (un)open partitions and partition sizes than
the driver layer.
1995-05-08 16:24:08 +00:00
jkh
e815b540a2 The value -1 is special. Allow it.
Submitted by:	bde
1995-05-08 06:14:16 +00:00
phk
b2a9651ad8 Make disk.c smart enough to handle disk with "OnTrack Disk manager".
Make it complain if people try to boot from a partition which extends
past 1024 cylinders.  This is better than a random reset...
1995-05-08 02:02:56 +00:00
ache
e788121172 Make two "ttyout" ttysleep wmesg unique
Add t_timeout to ttysleep call into ttywrite
1995-05-07 23:53:36 +00:00
ache
125aa8907e Add hook for pstat -t 1995-05-07 23:00:02 +00:00
jkh
b603376486 Add additional check for IRQ > 15. This code still needs a lot of work!
Remove silly "Naffy, the Wonder Porpoise" attribution and add more
justifiable (and overdue) attribution to Bruce Evans.  Look at it
as a delete and add operation batched together, not a substitution. :-)
1995-05-07 19:45:49 +00:00
jkh
18ae543a89 Duh! Get the section number for config(8) right! :) 1995-05-07 18:24:43 +00:00
jkh
e689883147 If user specifies IRQ 2, remap it to IRQ 9 with a warning.
Suggested by:	rgrimes
1995-05-07 18:23:58 +00:00
bde
cc1303d711 Fix style inconsistencies in the last few commits. 1995-05-07 07:06:36 +00:00
bde
bf30e374f0 Submitted by: john@physiol.su.oz.au (John Mackin)
Fix handling of sense errors.  Nonexistent media and end of media were
mishandled.
1995-05-07 06:54:01 +00:00
pst
69295b18ed Major cleanup up SunOS/VAT driver emulation code, added a BSD style copyright
notice, performed all of the structural changes necessary to get this thing
to work with the unidirectional-DMA version of voxware.

This work is -not- complete,  but it's in far better shape than it was,  and
I may not touch it again for another few months.
1995-05-07 06:38:49 +00:00
dyson
02299bb821 Another error in the correction for trimming swap allocation for
small objects.  (This code needs to be revisited.)
1995-05-07 06:36:59 +00:00
bde
562a666ce0 Test the correct nonblocking flag in ttylclose(). IO_NDELAY is only valid
in read() and write().  FNONBLOCK is valid in ioctl() and close().

The bug caused hung ptys when a process talked to itself using nonblocking
i/o and exited while the slave pty had output to flush.  ttywait() was
called and hung.  Signals didn't work because the process was exiting.
`comcontrol /dev/ttyp0 drainwait 1' worked to terminate the wait.  This
shows that comcontrol is not limited to hardware control.  It has no i386
or driver dependencies and doesn't belong in src/sbin/i386.

Bruce
1995-05-07 06:32:28 +00:00
dyson
f90d96a223 Fixed a calculation that would once-in-a-while cause the swap_pager
to emit spurious page outside of object type messages.  It is not
a fatal condition anyway, so the message will be omitted for
release.  Also, the code that "clips" the allocation size, associated
with the above problem, was fixed.
1995-05-07 03:48:54 +00:00
joerg
09a74d468d Restructured the floppy tape probe.
The ``flags 1'' in the fdc line is now only needed for owners of an
Insight tape (perhaps there aren't any?  Mine is disfunctional).  All
other probes are safe wrt. to the motor-control line of floppy disk
drives.  Document the flag in LINT finally.
1995-05-06 19:34:28 +00:00
dg
00d59a71a5 Fixed mbuf leak and panic that occurred when packets got too memory
fragmented.
Added support for Cogent em100 boards.
Fixed bug that caused BPF to toggle the card to UTP.
Various other improvements.

Submitted by:	Matt Thomas and David Greenman
1995-05-05 20:09:51 +00:00
ache
d9ea51f5f0 Add IPTOS_MINCOST according to RFC 1349
Change IPTOS_PREC_ROUTINE to 0 (was conflict with IPTOS_LOWDELAY) according
to RFC 791 (unchanged since it) and BSDI 2.0 style
Submitted by: Igor Sviridov <siac@ua.net>
1995-05-05 14:36:38 +00:00
dg
fa72d1206b Fix spelling error. Commented out ISO and ISO related things until I
either fix it or we decide to remove it. It requires implementing PCB
hashing to get it to compile and likely a lot more to get it to work..
1995-05-05 07:47:44 +00:00
dg
8af384fe4a Check for 0 before dividing by it. Patch from Paul Traina, modified
slightly by me.
1995-05-05 06:15:11 +00:00
dg
cae3f6f48d Kludged around a problem with "cat /proc/0/regs" causing a panic by
initializing proc0's frame base, too, using cpu_set_init_frame(). It's
a kludge because that macro is intended to be used only for init, but
does what we want nonetheless.
1995-05-04 08:21:24 +00:00
dg
4c16d7d0d2 Kill bogus duplicated code that resulted in an editing screwup of mine
that happend about 4 months ago.
1995-05-04 07:56:23 +00:00
dg
b003b5548b Correct the definition for the (unused) cpu_setstack(). 1995-05-04 07:50:06 +00:00
dg
afc1e20345 bzero the malloced pci_devconf structure. This should fix the problem with
several of freefall's recent crashes.
1995-05-04 06:57:11 +00:00
dufault
588beae4b2 Change defintion of unit to minor(dev). Sorry for not
having this in my local build.  Thanks to gpalmer.
1995-05-03 23:53:32 +00:00
gpalmer
494c18afd2 Try to make this work again. Peter's last changes left it like :
loading kernel
worm.o: Undefined symbol `_STUNIT' referenced from text segment

I copied the STUNIT definition from the old scsiconf.c into this file to
work around this problem.
1995-05-03 23:38:20 +00:00
julian
c5a430dd89 change to reflect reality.
(yes I know I should have done one commit rod....)
1995-05-03 23:10:35 +00:00
julian
9c211af21b remove debugging printouts unless DEVFS_DEBUG is set. 1995-05-03 23:06:31 +00:00
julian
bf92084d76 Submitted by: phk
if the 'time on a node is 0,..
tell the world it is the same as 'boottime'.
This is becasue 'time' is not set up when we create the nodes,
so we can't set them then.
1995-05-03 23:04:26 +00:00
phk
ee1a79f49a Fixed a hard-coded slot number which crept in. 1995-05-03 22:58:07 +00:00
dufault
9d5087634a Moved unit definitions out of scsiconf.h;
Added CONTROL device that only does user-ioctl and nothing else;
Added protection so user-ioctl requires write access;
Clean up scsiconf.h a little. It needs more work.
1995-05-03 18:09:20 +00:00
dg
b8a73effc2 Changed in_pcblookuphash() to not automatically call in_pcblookup() if
the lookup fails. Updated callers to deal with this. Call in_pcblookuphash
instead of in_pcblookup() in in_pcbconnect; this improves performance of
UDP output by about 17% in the standard case.
1995-05-03 07:16:53 +00:00
phk
99b2687d6c Forgot this part of the if_ze power off patch. 1995-05-03 03:04:02 +00:00
phk
c6651ce291 It looks like I broke significant amounts of the commercial software running
on FreeBSD (ie: netscape), so we revert a little bit.  "2.0-" is added back.
1995-05-02 22:20:03 +00:00
dufault
d75bb14f2f Reduce latency by checking FIFO for samples in start
Remove flags by testing register shadow

Handle apparent pending interrupt after interrupts disabled.
1995-05-02 17:29:28 +00:00
ache
8e661e2166 Fix CHOWN_RESTRICTED and NO_TRUNC to return correct values per POSIX 1995-05-02 17:14:38 +00:00
ache
1edbc5cc86 Back out incorrect jkh's fix and apply correct one
(POSIX_SAVED_IDS,POSIX_JOB_CONTROL)
1995-05-02 13:14:59 +00:00
jkh
aa296f63d5 The handling of _SC_SAVED_IDS was wrong; _POSIX_SAVED_IDS has no value
to assign this way!
1995-05-02 12:32:30 +00:00
dg
bdaf4b444d Removed unused variable caused by last commit. 1995-05-02 09:06:04 +00:00
dg
381c266547 Fix for sync() to close a potential panic with accessing a mount struct
that had been freed.

Submitted by:	John Dyson
1995-05-02 08:44:31 +00:00
dg
1678b3aebe Changed object hash list to be a list rather than a tailq. This saves
space for the hash list buckets and is a little faster. The features
of tailq aren't needed. Increased the size of the object hash table
to improve performance. In the future, this will be changed so that
the table is sized dynamically.
1995-05-02 05:57:11 +00:00
dg
a9fbfe29ca Added prototype for memcpy(). Changed size argument of "b" functions to
size_t.
1995-05-02 05:35:07 +00:00
dg
36960fe1d2 Added a memcpy() routine. 1995-05-02 05:20:26 +00:00
phk
33a7eda710 A missing 'and', probably my fault.
Submitted by:	Ed Hudson <elh@p5.spnet.com>
1995-05-02 04:40:06 +00:00
phk
93bec984db Do the obvious thing: when the interface is downed, power off the card.
When up'ed again: reapply power.  This means that you can leave your card
in, you don't need to reboot to avoid the power drain.
1995-05-02 04:03:07 +00:00
dyson
dce343626d Fixed a problem that can cause left-over pv_entries and as
as side-effect, removed some legacy code that was necessary
when we called vm_fault inside of vm_fault_quick instead of using
the kernel/user space byte move routines.
1995-05-01 23:32:30 +00:00
dyson
7972592fe7 Limit filesize to the amount that the VM system can currently handle
(2GB).  If this limit is not imposed, then filesystem corruption will
ensue when files larger than 2GB are created.  This is temporary,
and the underlying limitation will be removed later.
1995-05-01 23:20:24 +00:00
gibbs
4844e93310 Aaron Daily of Adaptec has informed me that some form of paged SCB
algorithm is used on aic7770 Rev E or higher chips to improve perfomance.
This required a hardware change but we don't know exactly what (most
likely some special register to do fast SCB indexing into host memory),
and we are not at all sure that there are more than 4 SCBs on these
chips.  This probe will still classify the revision of the aic7xxx, but
we now default to 4 SCBs (at least until we know more of what was done).

This also fixes a bug in the timeout routine where we cleared a flag
too soon making it imposible to enter one section of the routine.

Submitted by: Timeout bug - Dan Eischen <deischen@iworks.InterWorks.org>
1995-05-01 18:43:14 +00:00
gibbs
b5e924a383 Set the return value (outb'd to the sequencer) for non zero status
interrupts to zero to start with.  This is the value we return in
most cases.  The sense code then outbs the apropriate value to cause
sense retrieval.  The return value was uninitialized before this
change (something that was an okay thing with the old sequencer code,
but not with the semantics of the new).

This problem caused us to always retrieve sense upon recieving a non
zero status byte.  This is exactly what was happening for the "target
busy" status returned by exabyte tape drives when they rewind or
power on with a tape installed.  The request sense proved fatal.
This should fix the tape problems.
1995-05-01 09:49:45 +00:00
phk
7cb2df48bc When past cyl 1024 it's ok if CHS is (0xff,0xff,0xff).
It's actually recommended it seems...
1995-05-01 00:45:33 +00:00
julian
c36f9f2e7e This is a purely cosmetic change
but it outlines what I'm GOING to do to this file.
It's sort of an unignorable notification of coming changes..

This is a bit rude I understand.. but I can't afford to haqve the
diskslice code  drifting off too much further from a workable system
and I think I need to jump in now to make it obvious what has to be done
before it's too late.

appologies to bruce in advance.
1995-05-01 00:07:17 +00:00
julian
44dd26d43a making a reservation for more bits before people start using them
in the minor number, (this stuff HAS to go!)
The change I want is:
/*
       3                   2                   1                   0
     1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
    _________________________________________________________________
    | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
    -----------------------------------------------------------------
    |      TYPE           | SLICE   |  MAJOR?       |  UNIT   |PART | <-now
    -----------------------------------------------------------------
    |      TYPE     |PART2| SLICE   |  MAJOR?       |  UNIT   |PART | <-soon
    -----------------------------------------------------------------

        I want 3 more part bits (taken from 'TYPE' (useless as it is) (JRE)
*/
1995-04-30 23:48:27 +00:00
bde
04e7b380b7 Change dsioctl() interface to allow DIOCSYNCSLICEINFO to update the caller's
slice pointer and to print the device name in error messages.

Finishing implementing DIOCSYNCSLICEINFO (except for locking).
1995-04-30 15:16:02 +00:00
bde
8467ec16ea Change dsioctl() interface to allow DIOCSYNCSLICEINFO to update the caller's
slice pointer and to print the device name in error messages.
1995-04-30 15:14:34 +00:00
bde
8427285121 Define CDTR_IFLOW and CDSR_OFLOW which are now required for compiling
bin/stty.  Define alias CCAR_OFLOW for MDMBUF.

Declare speeds as having type speed_t instead of long.  speed_t is
long, which is wrong (POSIX specifies it to be unsigned integral),
but fixing it might introduce more serious bugs.
1995-04-30 14:56:30 +00:00
ache
e3f0259d91 Fix handling of POSIX_JOB_CONTROL and POSIX_SAVED_IDS,
pointed out by Bruce.
1995-04-30 11:30:12 +00:00
dg
0050e4a000 Added UIO_NOCOPY case to ureadc() to quiet gcc. 1995-04-30 05:11:46 +00:00
dg
462e0d4d02 Check for curproc != NULL before dereferencing it. 1995-04-30 05:09:13 +00:00
joerg
7fe1f94498 Finally implement the kernel hook for the "mt eom" command. (The
user-level part has already been commited.)

Note that i've lost the "official" code for this; it went into the
system after 1.1.5.1.  The commited code is my own version, but it has
proven to work for me for more than a year now.
1995-04-29 21:30:29 +00:00
dufault
3710598186 Submitted by: ache
Fix extra newline during SCSI_VERBOSE.
1995-04-29 17:52:44 +00:00
bde
dd62103364 Fix misplaced idempotency #endif.
Fix tabs and spaces in the wrong places.
1995-04-29 15:24:00 +00:00
ache
ef44f537d3 Enable _POSIX_SAVED_IDS and fix comment to describe current situation 1995-04-29 14:20:35 +00:00
ache
e9b0cedd67 set[ug]id(): call suser() only when neccesarry
Submitted by: bde
1995-04-29 11:46:15 +00:00
jkh
7c335c5e6e Bruce is right - ENOTTY is more appropriate than EINVAL in this case. 1995-04-29 11:36:47 +00:00
jkh
5cc2dacd0f fixes the ioctl routine to not chew up massive amounts of kernel time
if an invalid ioctl is done on /dev/klog.  logioctl() needs to return
an errno instead of -1 on a failed ioctl.
Submitted by:	Mike Pritchard <mpp@mpp.com>
1995-04-29 05:09:19 +00:00
gpalmer
66c00a8f24 The address is freefall.cdrom.com, not freefall.cdrom.com.cdrom.com :-) 1995-04-29 01:09:34 +00:00
pst
e31775a108 Incorporate new radix code from UCB. This fixes the orphaned mask bugs.
This submission was done by hand-applying FreeBSD local modifications on
top of the UCB code, rather than trying to patch the UCB code in on top
of the FreeBSD code due to the extensive changes.

Reviewed by:	pst	(been handling 30k routes for 4+ months)
Obtained from:	Sklower/Woody/Honing/Traina (8.4 UCB release)
1995-04-28 23:01:37 +00:00
gpalmer
121e99df24 (Sorry about prev. blank message - I realised I needed a change too late).
Removed unused var. and correct a printf formatting string.
1995-04-28 22:24:37 +00:00
gpalmer
8dabcbb389 *** empty log message *** 1995-04-28 22:23:19 +00:00
dufault
ad88165e0d Add ioctl calls for Freeze/Thaw. 1995-04-28 19:26:02 +00:00
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
bde
33ea6b6999 Declare wakeup() non-implicitly and don't bogusly cast its arg. 1995-04-23 07:39:21 +00:00
phk
a9f9772a0d Forgot this commit the other day. The receiving end of the "boot -C" option. 1995-04-23 04:14:41 +00:00
phk
e948d5ffd9 We will use /sbin/init on cdrom too. 1995-04-23 04:13:51 +00:00
dyson
b8e5de9a56 Change the initial delay in wdwait to a DELAY macro call. It is really
too long, but does not impact performance very much when using the
NSECS_MULTI option.  This will help solve some mysterious IDE I/O
problems.
1995-04-22 22:44:30 +00:00
dyson
50e9985ad4 Document the wd.c option NSECS_MULTI. 1995-04-22 22:39:33 +00:00
phk
5bee09351d First part of the "what version of CURRENT" fix.
We now have RELEASE=CURRENT in the CVS-tree.

If this hasn't been edited, we will use "BUILT-yyyymmdd" where the time is
that of the compile, and leave it at that, we can't do any better.

If there is no serious objections, I will modify the "cvs co" script on
freefall to fiddle this file after checkout so that it becomes
CURRENT-yyyymmdd, where the time is that of the checkout.
1995-04-22 21:39:15 +00:00
wpaul
4495996ef7 Tiny printf formatting change: if we have no cpu_vendor or cpu_id info,
don't generate a newline. (Yeah, I'm picking nits, but that empty line
I get on my 386 just looks dumb, okay? :)
1995-04-22 03:58:46 +00:00
julian
88b4fc2525 Submitted by: bde@freebsd.org 1995-04-21 22:20:34 +00:00
bde
79d93cb4f7 Make some functions static like they always should have been.
Change the interfaces of these functions to save space.  The code
that takes the least amount of space is often the opposite to what
you might expect.  E.g., it helps to waste a few bytes passing
pointers so that the compiler can't see that certain addresses
are identical (gcc likes to waste space by reloading fat constants
even when the constant is already in a register).

Rewrite getbootdev() to save 80 bytes of space and to make it less
ugly.  32 bytes were saved simply by omitting the continue statements
in the pseudo-switch.
1995-04-21 16:50:32 +00:00
bde
03471c0c05 Update the pseudo-prototype for serial_putc() to match the actual prototype. 1995-04-21 16:30:18 +00:00
bde
05efcad0fb Never pass char or short args to functions. This saves 64 bytes of
recently introduced bloat in just 2 calls to biosread(), although
very little in calls to putc() and serial_putc().  Gcc produces
amazingly bad code for unnecessary conversions.  E.g., if it has
`int x' in register %edx and wants to pass a char, then it could
simply push %edx and access only one byte in the callee.  Instead,
it sometimes unnecessarily spills %edx; it always sign extends
%edx and pushes the result.

Remove useless `extern' in function prototypes.

Remove unused declaration of `end'.

Declare pbzero() and pcpy() like the library bzero and bcopy().

Declare printf() properly.
1995-04-21 16:07:12 +00:00
dyson
20f29bf525 Slight re-ordering of the creation of a vmio object to fix a condition
that can cause NFS I/O failures.
1995-04-21 02:58:49 +00:00
dyson
62a68b5f4e Fixed a problem in _vm_object_page_clean that could cause an
infinite loop.
1995-04-21 02:48:40 +00:00
joerg
96e572a290 . Make Poul's boot2 overflow warning less noisy in case the blocks
do fit, and beeping in case of an overflow.

.  Drop a comment about the ``FORCE_COMCONSOLE'' option into
   README.serial.

.  Increase the name buffer for the root directory from 100 bytes
   to 8 KB;  this is in no way ideal, but (IMHO) the best that can
   be done by now.  People did encounter problems with their root
   dir name listing overflowing the allocated buffer space.  Once
   we've got the three-stage boot, we should implement some basic
   malloc().  Swap space is already getting tight now, perhaps the
   swap should go into another 64 KB segment instead.

.  Make the keyboard probe less paranoid.  It should not give up in
   case of a keyboard that's continuously demanding RESEND's.  Even
   though the keyboard reset apparently has not been reported to be
   complete, it's at the very least proven that there IS something
   like a keyboard available.

   This solves problems with the ``Gateway-2000 AllKey programmable''
   (sp?) keyboard, that experienced a total hang with the previous
   probe.

   Thanks goes to Scott Blachowicz <scott@statsci.com> for his
   extensive testing of my various interim (debugging) bootblocks
   to get this working.
1995-04-20 23:15:10 +00:00