Commit Graph

4060 Commits

Author SHA1 Message Date
Bruce Evans
dd1642c2c4 Fixed the type of sscstrategy() (return void).
Removed sscdump() (it was never used).
Removed sscpsize() (it was never used, and returned a bogus value (ENXIO = 6
means a size of 6)).
1995-11-04 11:12:41 +00:00
Bruce Evans
f55ad351e1 Moved a nested extern declaration to a less bogus place to hide a warning. 1995-11-04 10:54:53 +00:00
David Greenman
3956a1702c Return EINVAL if the number of groups is less than 1 in setgroups().
Obtained from:	4.4BSD-Lite2
1995-11-04 10:50:55 +00:00
Bruce Evans
046bc05396 Prototype getvnode() in the right place (where ibcs2_stat.c can see it). 1995-11-04 10:35:26 +00:00
Julian Elischer
bc71ecdfc9 Suggested by: bde
clear up some confusion about Id: lines on behalf of the author
1995-11-04 09:03:47 +00:00
Julian Elischer
e9500cdb8a Submitted by: bde
IFF_NOTRAILERS doesn't exist any more in current
(driver came from 2.0.5)
now compiles again.
1995-11-04 07:57:14 +00:00
Andras Olah
845799c166 Cosmetic changes to processing of segments in the SYN_SENT state:
- remove a redundant condition;
- complete all validity checks on segment before calling
  soisconnected(so).

Reviewed by:	Richard Stevens, davidg, wollman
1995-11-03 22:31:54 +00:00
Andras Olah
356ad1b0cb Setting the TF_ACKNOW flag was redundant in the REXMT timeout because
tcp_output() checks for the condition snd_nxt == snd_una.

Reviewed by:	davidg, wollman, olah
Suggested by:	Richard Stevens
1995-11-03 22:19:50 +00:00
Andras Olah
a45d27261d Fix a logical error in T/TCP: when we actively open a connection, we
have to decide whether to send a CC or CCnew option in our SYN segment
depending on the contents of our TAO cache.  This decision has to be
made once when the connection starts.  The earlier code delayed this
decision until the segment was assembled in tcp_output() and
retransmitted SYN segments could have different CC options.

Reviewed by:	Richard Stevens, davidg, wollman
1995-11-03 22:08:13 +00:00
Garrett Wollman
ff5c09da20 Make somaxconn (maximum backlog in a listen(2) request) and sb_max
(maximum size of a socket buffer) tunable.

Permit callers of listen(2) to specify a negative backlog, which
is translated into somaxconn.  Previously, a negative backlog was
silently translated into 0.
1995-11-03 18:33:46 +00:00
Garrett Wollman
2fc21bbbf1 Make somaxconn (maximum backlog in a listen(2) request) and sb_max
(maximum size of a socket buffer) tunable.
1995-11-03 18:29:44 +00:00
Peter Wemm
96673e6696 Fix the incomplete merge for the IPX code - the internals are different.
Note, the IPX in pppd support is not really there. I suspect that
it may work if you ifconfig it up manually.
1995-11-03 08:42:21 +00:00
Peter Wemm
43732dbeda When the sync-on-shutdown fails to clear all buffers, this bit of code
can print them out.
I have seen that MFS can leave BUSY buffers, preventing a clean reboot...
1995-11-02 09:52:40 +00:00
Peter Wemm
0839e0de72 Make putc and b_to_q deal with clists with no reserved blocks in a more
civilised manner than panicing.  This only happens as a result of another
state botch somewhere else, eg: from a tty driver calling putc or b_to_q
on a closed device.  Apparently, it's also been implicated in a panic
with a status (^T) event on ptys.

This change should pretty well be in it's final form now.
1995-11-02 08:37:22 +00:00
David Greenman
23922ccaca Move page fixups (pmap_clear_modify, etc) that happen after paging input
completes out of vm_fault and into the pagers. This get rid of some
redundancy and improves the architecture.

Reviewed by:	John Dyson <dyson>
1995-11-02 06:42:47 +00:00
Garrett Wollman
054ef37088 Instrument the IP input queue with two new read-only MIB entries:
net.inet.ip.intr-queue-maxlen (=== ipintrq.ifq_maxlen)
and	net.inet.ip.intr-queue-drops (=== ipintrq.ifq_drops)

There should probably be a standard way of getting the same information
going the other way.
1995-11-01 17:18:27 +00:00
Peter Wemm
a317bc2c36 Clean up the previous commit I did on this file.
The Jury has not reached a verdict yet on this approach - a better fix
may be thought of, but for now this works.
1995-11-01 15:59:55 +00:00
Peter Wemm
30a4b938d0 Add a DRIVER_S= definition that config wants to use for assembler
source.  This was copied from NORMAL_S..
1995-11-01 15:03:02 +00:00
Peter Wemm
f2d642f969 Re-Zap unused variables in their new location.. :-) 1995-11-01 00:58:43 +00:00
Julian Elischer
1b3f472e51 Submitted by: Mike Mitchell (mitchell@ref.tfs.com)
these patches bring the ipx code up to the point that it compiles cleanly with
the -W arguments suggested by bruce.
1995-10-31 23:36:47 +00:00
Joerg Wunsch
e046098fa9 Include a prerequisite header (so this is consistent again with the
NFSv2 state).
1995-10-31 21:17:59 +00:00
Peter Wemm
7dbdd057a4 We no longer need the spltty() == splimp() hack if PPP is configured into
the kernel.  ppp_tty.c goes to some lengths to minimise the inter-layer
calling (including a soft ISR).  ppp_tty.c takes care of the soft masking
that was needed still.

(I've discovered that bugs in this area show up within an hour if the
masking was not correct.. :-}  This combination has proven stable on
specialix serial ports, although there was some concern about the softtty
parts of sio/cy and netisr colliding - but Bruce has fixed that now)
1995-10-31 21:03:57 +00:00
Paul Traina
e42f2d599a Pad out MSDOS boot block to 512 bytes (bugfix only)
Submitted by: Andreas Haakh, ah@alman.RoBIN.de
1995-10-31 20:54:33 +00:00
Peter Wemm
ba886c3099 Update if_ppp lkm to pull in the new files... 1995-10-31 20:54:15 +00:00
Peter Wemm
1aea408caf Remove the old pppcompress files (btw: these look net-2 derived)
commit merge for bsd_comp.c - I missed this with a *ppp* wildcard.
1995-10-31 20:51:24 +00:00
Peter Wemm
f2fdf012d4 Drat.. Missed this one, which #includes ppp-comp.h, not ppp_comp.h 1995-10-31 20:41:32 +00:00
Peter Wemm
099a8761f8 Update the file list for the new ppp files.. 1995-10-31 20:33:23 +00:00
Peter Wemm
45e829f5a5 Merge/update ppp-2.2 kernel parts onto mainline.
Note that the old if_ppp.c has been split in half into if_ppp.c and
ppp_tty.c
1995-10-31 20:24:14 +00:00
Peter Wemm
8511566984 Initial revision 1995-10-31 20:07:32 +00:00
Bruce Evans
bb1140a9a5 Fixed initialization of TS_CONNECTED bit in t_state. It wasn't
set in open() when CLOCAL is set unless carrier is present.

Fixed initialization of line discipline.  It lived across opens.
Lines that started with the wrong discipline probably didn't work
at all, because TS_ISOPEN is only set by TTYDISC.
1995-10-31 19:27:50 +00:00
Peter Wemm
71b9cf739a slcompress: split one of the functions into two parts, to allow use by both
if_sl and if_ppp (from ppp-2.2), eliminating the nearly identical
 pppcompress.[ch] code.  Add maximum VJ compression states argument to
 sl_compress_init().
if_sl: call sl_compress_init() with the extra argument.
1995-10-31 19:22:32 +00:00
Peter Wemm
06cc185852 Add a simplistic netisr register routine - I need this now for ppp-2.2. 1995-10-31 19:07:53 +00:00
Peter Wemm
e8c8f201ec Make a putc()/b_to_q() to a clist that hasn't had cblocks reserved
non-fatal.  I've make it return an appropriate error to the caller instead
of panic()ing.

Handling an error condition is inherently more friendly than exploding
the kernel.. :-)  The new behavior is a little closer to traditional
clists, potentially making porting a little simpler.

Suggested by: bde (many months ago, I've been using this for a while..)
1995-10-31 19:00:00 +00:00
Poul-Henning Kamp
c227cb3456 Cleanup, make things static. 1995-10-31 18:41:49 +00:00
Poul-Henning Kamp
dc9deb292c Get pccard stuff into LINT.
rename i386/isa/pcic.c to .../pcicx.c
this file will go away when the if_ze and if_zp dies.
1995-10-31 18:28:55 +00:00
Joerg Wunsch
b372e37cdf The "od" driver. While the name is suggesting the use for
magneto-optical devices, it's scope can (and should) be widened to
cover all removable type 0 (direct) devices as well, since this class
of devices is sharing the same principles.  Things like suport for
media eject etc. will be supported later.  (Shunsuke is also working
on the problems arising out of the use of media with physical block
size != 512 bytes (which is not uncommon for MODs).

Submitted by:	 akiyama@kme.mei.co.jp (Shunsuke Akiyama)
1995-10-31 17:25:58 +00:00
Joerg Wunsch
f60e6466c4 Include the "od" driver. (Oops, forgot to cvs add the driver file
itself.  Will do this after this commit.)

Make scsiconf more flexible about recognizing ``foreign'' devices.
This part needs to be rewritten some day to allow for matches whithou
strict version number checks, but either Julian as Peter seem to be
too busy right now, so i'm finally commiting the version that's
working for me stable now for several months, as an interim
workaround.

Submitted by: akiyama@kme.mei.co.jp (Shunsuke Akiyama)
1995-10-31 17:21:00 +00:00
Joerg Wunsch
c608b93b50 Minor correction for the "od" driver.
Submitted by: akiyama@kme.mei.co.jp (Shunsuke Akiyama)
1995-10-31 17:03:26 +00:00
Joerg Wunsch
49bdb5b8e7 Include the "od" driver. 1995-10-31 17:00:03 +00:00
Poul-Henning Kamp
605e9724c6 Make a lot of stuff static. 1995-10-31 12:13:49 +00:00
Peter Wemm
b72967f933 mfs_open could panic with false identification: panic("mfs_ioctl: .... 1995-10-31 10:45:48 +00:00
Julian Elischer
f4567b9c1c Reviewed by: not yet
Submitted by:	fgray@rice.edu
this driver hasn't been checked but as a separate module, bringing it in won't
break anything else and it't the best way of testing it......

julian
1995-10-31 07:42:54 +00:00
Julian Elischer
f410c8da58 Submitted by: Mike mitchell
add prototypes htat are related to ipx.ip tunnelling
1995-10-31 00:46:42 +00:00
Julian Elischer
74f50111b8 Submitted by: Mike Mitchell
revise prototypes etc.
cleanups (probably more coming)
1995-10-31 00:38:57 +00:00
Mark Murray
a0135d7e95 Security fix - do not allow anyone but root to choose the interrupts used
in the the randomising process.
(This is a change to the /dev/random ioctl()))
1995-10-30 22:39:34 +00:00
Guido van Rooij
026d3dc8e3 When moving kernel to kernel.old, also change kern.bootfile.to
kernel.old. This is a solution for only the first install
on a running system, but it's better than it is now.
1995-10-30 20:20:49 +00:00
Bruce Evans
0b8253a746 Don't pass an extra trailing arg to some functions.
Added the prototypes that found this bug.
1995-10-30 17:56:30 +00:00
Bruce Evans
7a6e2e527b Removed an annoying redundant declaration that I added in the previous
revision.
1995-10-30 17:16:55 +00:00
Bruce Evans
c991e17051 Removed bogus statics in declarations that don't allocate storage.
Added prototypes.
1995-10-30 17:13:25 +00:00
Bruce Evans
7788eaeb2f Mask netisrs during softtty isrs. This may fix PR 798. SLIP and PPP
line discipline interrupt handlers more or less expect to be called at
spltty() == splimp(), although they have internal splimp()s that are
bogus if this expectation is satisfied.  They are called at splsoftty()
from many tty drivers, so they were not protected from being reentered
from their own netisrs.  They certainly don't expect that but are
apparently remarkably robust if it occurs.  The problem in PR 798 seems
to be caused by pppstart() being reentered and finishing off the output
in progress by following the (stale) sc->sc_outm pointer.  Then the
original pppstart() finds garbage in m2 after MFREE(m, m2).  slstart()
doesn't have internal state like sc_outm so reentry of it probably only
causes out of order and dropped packets.
1995-10-30 17:01:37 +00:00
Andras Olah
b6239c4a19 Start the 2MSL timer when the socket is closed and the TCP connection is
in the FIN_WAIT_2 state in order to prevent the conn. hanging there
forever.

Reviewed by:	davidg, olah
Submitted by:	Arne Henrik Juul <arnej@imf.unit.no>
Obtained from:	bugs@netbsd.org
1995-10-29 21:30:25 +00:00
Bruce Evans
0ebb7bd2ad Made wcstart() non-static again. It is called from atapi.c. The
modularization of the wd/wcd/atapi driver is ugly.

Include cons.h from a less bogus place.

Removed an ARGSUSED.  Unused args are normal for devswitch functions
and lint was informed about them for about 5 functions out of 1000.
Lint should be informed about them, if at all, in some other way.
1995-10-29 17:34:17 +00:00
Bruce Evans
dfd56037f0 Made wcdattach() non-static again. It is called from atapi.c. The
modularization of the wd/wcd/atapi driver is ugly.

Added prototypes.
1995-10-29 16:10:06 +00:00
Poul-Henning Kamp
a98ca4699e Second batch of cleanup changes.
This time mostly making a lot of things static and some unused
variables here and there.
1995-10-29 15:33:36 +00:00
Bruce Evans
00f7f6be8a Fix mmioctl() for !DEVRANDOM case. mmioctl() is a function, not a
pointer to a function.
1995-10-29 11:37:56 +00:00
David Greenman
c91d636e6f Use the new config(8) %SFILES token to auto-generate the SFILES list.
Note: THIS REQUIRES THAT YOU REBUILD CONFIG(8)!!!
1995-10-29 11:10:53 +00:00
Poul-Henning Kamp
7e247b3498 Don't include things more than once :-) 1995-10-29 09:51:47 +00:00
Justin T. Gibbs
25e55cecc6 Initialize SXFRCTL0 with DFON|SPIOEN|ULTRAEN. 1995-10-29 05:57:48 +00:00
Justin T. Gibbs
1fa2b6b3da Only or in CLRCHN in SXFRCTL0. All other bits in this register are
initialized by the kernel driver now.
1995-10-29 05:56:31 +00:00
Paul Traina
ca4bbe6461 Close out kern/46.
Remove confusing backwards compatibility code that allowed driver to be
used in pre-4.4 releases.  The 3COM card's use -link2 to switch tranceivers.
(no functional changes here)
1995-10-28 22:46:26 +00:00
Peter Wemm
faafde1bc3 Add extra export symbols for the ATAPI generic interface.
And a couple of minor fiddles in the process..
1995-10-28 17:46:58 +00:00
Peter Wemm
a4991dc20f Reattach atapi and wcd to the lkm Makefile, these compile for me now. 1995-10-28 17:46:03 +00:00
Peter Wemm
690b4d96b8 Repair the wcd and atapi code a little, so that it compiles and loads
as an LKM.
I dont have one of these beasts, so I cannot guarantee that I've not
broken it (more).
It does compile with ATAPI_STATIC, and as a LKM.
1995-10-28 17:45:04 +00:00
Justin T. Gibbs
7ae20993a0 Fix incorrect bit definitions for SXFRCTL0 (typo). The affected bits
aren't referenced by the driver yet, so this error shouldn't have caused
any problems.

Submitted by:	Dan Eischen <deischen@iworks.InterWorks.org>
1995-10-28 17:27:21 +00:00
Mark Murray
1bb2d3142b Theodore Ts'po's random number gernerator for Linux, ported by me.
This code will only be included in your kernel if you have
'options DEVRANDOM', but that will fall away in a couple of days.
Obtained from: Theodore Ts'o, Linux
1995-10-28 16:58:05 +00:00
Poul-Henning Kamp
4ccc87c594 Remove unused functions and variables, make things static, and other cleanups. 1995-10-28 15:39:31 +00:00
Peter Wemm
6667e247e9 Sorry.. I didn't mean to re-enable wcd yet 1995-10-28 13:28:16 +00:00
Poul-Henning Kamp
3a34a5c3b8 Sorry, the last commit screwed up for me, this is the right one (I hope!)
Please refer to the previous commit message about sysctl variables.
1995-10-28 13:07:28 +00:00
Poul-Henning Kamp
b396cd832c Rewamp the way we make sysctl variables to be easier to cope with.
The goal is to make them "user-friendly" :-)

In the end this will allow a SNMP style "getnext" function, sysctl editing
in the boot-editor and/or debugger, LKMs can define sysctl vars when
they get loaded, and remove them when unloaded and other interesting
uses for dynamic sysctl variables.
1995-10-28 12:59:25 +00:00
Peter Wemm
8e6b01171e Do a pass over the broken LKM's and update them to use the "new"
convention of having their entry point named "<modname>_mod"".
Symorder is enforcing this when the current bsd.kmod.mk is installed.

I've not tested all these, but at least they all compile now.

Reattach them to the makefile.

Note that the change that I made to symorder needs to be compiled and
installed before any LKM's will work - the last version was corrupting
the relocation tables.  A "make world" will to this, but if you
manually run a make on the lkm's you'll need to take care of it by
hand.
1995-10-28 12:35:14 +00:00
Bruce Evans
e887950a45 Call vfs_unbusy() before error returns from sysctl_vnode(). This fixes
PR 795.

Set the size before one error return from sysctl_vnode() the same as before
the other.  The caller might want to know about the amount successfully
read although the current caller doesn't.
1995-10-28 08:50:08 +00:00
Andrey A. Chernov
75b65495cb Temp. disable following modules:
atapi coff ibcs2 ipfw linux syscons wcd
(until they will be fixed)
It allows to build/install other modules from top
1995-10-28 02:49:46 +00:00
Justin T. Gibbs
5bc51a33d8 Recognize the aic7880 and 3940 Ultra.
If RAMENB is set in devconfig, walk the external SCBs.  Some Intel Xpress
motherboards set this bit.

For external SCBs for the 3940.  It doesn't set RAMPS or RAMENB, but does
have the ram.
1995-10-26 23:58:59 +00:00
Justin T. Gibbs
396614a8b4 Properly deal with the Ultra series of adapters. We should now understand
the new seeprom format and negotiate up to 20MHz sync if set in SCSI-Select.

Reduce the complexity of the timeout code by running it at splhigh().  Fix
a bug that caused rescheduled timeouts at 0 clock ticks in the future causing
an infinite loop.

Obtained from: Timeout bug noticed by David Greenman and wcarchive.
1995-10-26 23:57:18 +00:00
Justin T. Gibbs
fca911ecf3 Set SCSIGO generically before we determine the phase instead of doing it
in each phase routine.  Saves a few instructions.

Be more careful in how we deal with SXFRCTL0.  Or in the control bits of
interest instead of using mvi.  The kernel driver will set the ULTRAEN
bit of SXFRCTL0 if we are using Ultra (20MHz) mode and we don't want to
clobber it.

In sdtr_to_rate divide by two if we are in ultra mode to get the correct
setting since its a 20MHz instead of 10MHz scale.
1995-10-26 23:54:13 +00:00
Julian Elischer
cc6a66f20e Reviewed by: julian and jhay@mikom.csir.co.za
Submitted by:	Mike Mitchell, supervisor@alb.asctmd.com

This is a bulk mport of Mike's IPX/SPX protocol stacks and all the
related gunf that goes with it..
it is not guaranteed to work 100% correctly at this time
but as we had several people trying to work on it
I figured it would be better to get it checked in so
they could all get teh same thing to work on..

Mikes been using it for a year or so
but on 2.0

more changes and stuff will be merged in from other developers now that this is in.

Mike Mitchell, Network Engineer
AMTECH Systems Corporation, Technology and Manufacturing
8600 Jefferson Street, Albuquerque, New Mexico 87113 (505) 856-8000
supervisor@alb.asctmd.com
1995-10-26 20:31:59 +00:00
David Greenman
0d9a79f8a6 From Matt Thomas:
"I screwed the initialization of the burstsize.  Right now it will default
to 0 (which can cause corruption problems on high latency PCI buses).  It
should be set to 8 longwords to avoid problems with certain PCI chipsets."

Submitted by:	Matt Thomas <matt@lkg.dec.com>
1995-10-26 07:40:11 +00:00
Bruce Evans
e2f15ca546 Fixed data loss in writes to pty masters. Data was almost always lost
at the end of each write for writes of more than 1K.

Fixed handling of residual count for early returns in writes to pty masters.
It was only adjusted in 2 out of 6 cases.

Added prototypes.
1995-10-25 18:23:58 +00:00
Bruce Evans
12bc45a8df Fix clist limits. They were usually one too low. E.g., for a limit of
TTYHOG = 1024 bytes, 10 cblocks were reserved.  This was thought to
provide 10 * CBSIZE = 1080 bytes of buffering, but if the head pointer
is at the end of a cblock, then it only provides 1 + 9 * CBSIZE = 973
bytes of buffering.  This caused serious data loss for ptys because the
flow control is deterministic and requires at least TTYHOG bytes of
buffering.  For ttys, if input flow control is used then there is
usually enough slop in the high watermark to avoid problems, and if
input flow control isn't used then a limit of 973 is not much different
from a limit of 1024.

Add prototypes.

Continue cleaning up new init stuff.
1995-10-25 17:59:58 +00:00
Jordan K. Hubbard
9720b0841f Stable matcd port to 0x230, as per request by Bruce and Frank.
Submitted by: Frank Durda IV <uhclem@fw.ast.com>
1995-10-25 16:43:01 +00:00
Jordan K. Hubbard
d6393cdba3 Bring in version 1(26) - considerably less memory usage (and may bring us
down to 4MB bootability again).
Submitted by:	Frank Durda IV <uhclem@fw.ast.com>
1995-10-25 16:41:22 +00:00
Steven Wallace
a5d49c1801 Add code to properly translate signal returned in status argument of wait4()
call for STOPPED and SIGNALED status (exit status identical).
1995-10-23 19:46:51 +00:00
Steven Wallace
f23c6d682b Remove COMPAT_IBCS2 option.
Ibcs2 emulator no longer depends on owait() or any other hack to wait4().
1995-10-23 19:44:38 +00:00
Bruce Evans
8159bae9d0 Fix a sign extension bug that was unleashed by the previous change.
The total process time was sometimes 2^32 usec too large but that
wasn't a problem before because the time was bogusly truncated mod
2^32.
1995-10-23 19:05:50 +00:00
Andrey A. Chernov
76021f6637 Reset only one necessary LC_ variable 1995-10-23 18:51:29 +00:00
Bruce Evans
5fdb832498 Simplify the pseudo-argument removal changes by not optimizing for
the !COMPAT_43 case - use a common function even when there is no
`old' function.  The diffs for this are large because of code motion
to restore the function order to what it was before the pseudo-argument
changes.

Include <sys/sysproto.h> to get correct args structs and prototypes.
The diffs for this are large because the declarations of the args structs
were moved to become comments in the function headers.  The comments may
actually match the automatically generated declarations right now.

Add prototypes.
1995-10-23 15:42:12 +00:00
Poul-Henning Kamp
688444459d Fix a missing arg to untimeout. 1995-10-23 12:05:24 +00:00
John Dyson
a91c5a7ecd Get rid of machine-dependent NBPG and replace with PAGE_SIZE. 1995-10-23 05:35:48 +00:00
John Dyson
d559b36913 Remove of now unused PG_COPYONWRITE. 1995-10-23 04:29:39 +00:00
John Dyson
ff02cd98f2 Removal of unnecessary usage of PG_COPYONWRITE. 1995-10-23 04:28:59 +00:00
Ugen J.S. Antsilevich
7934237885 Support all the tcpflag options in firewall.
Add reading options from file, now ipfw <filename> will
read commands string after string from file , form of strings
same as command line interface.
1995-10-23 03:58:06 +00:00
John Dyson
e17bed1226 First phase of removing the PG_COPYONWRITE flag, and an architectural
cleanup of mapping files.
1995-10-23 03:49:43 +00:00
John Dyson
cd0402ec7a Interface change for the VOP_GETPAGES -- missed in previous commits. 1995-10-23 02:55:55 +00:00
David Greenman
63017f04eb Remove PG_W bit setting in some cases where it should not be set.
Submitted by:	John Dyson <dyson>
1995-10-23 02:31:29 +00:00
John Dyson
2c4488fce3 Finalize GETPAGES layering scheme. Move the device GETPAGES
interface into specfs code.  No need at this point to modify the
PUTPAGES stuff except in the layered-type (NULL/UNION) filesystems.
1995-10-23 02:23:29 +00:00
David Greenman
b596ee8d4e More improvements to the logic for modify-bit checking. Removed
pmap_prefault() code as we don't plan to use it at this point in time.

Submitted by:	John Dyson <dyson>
1995-10-23 00:47:10 +00:00
Poul-Henning Kamp
e3965e5b67 Remove the last trace of arptnew() 1995-10-22 19:07:58 +00:00
Bruce Evans
f668386c04 sio.c:
Fix the tests for being a console by reverting to the ones that
were used before the the RB_SERIAL changes.  RB_SERIAL only needs
to be tested in one place.  The initialization of comconsole was
wrong before the RB_SERIAL changes for the COMCONSOLE case.  This
may have been the cause of the unnecessary changes.

Start eliminating #includes of <i386/i386/cons.h>.  This header is
supposed to be included from <machine> although it should be
completely machine-independent and included from <sys>.

Remove a wrong XXX comment.  `comconsole' is used to test for being
a console and even the tests for deciding the default termios state
are necessary (the semi-reentrant i/o routines don't handle ordinary
device i/o).

cy.c:
Sync with sio.c.  The console tests are present but always fail.
1995-10-22 15:38:08 +00:00
Bruce Evans
f9dd61a448 Only allow `sensitive' devices for displays in find_display(). This is
a quick fix for syscons deciding not to become the console because it
thinks another tty device has priority.
1995-10-22 15:07:43 +00:00
David Greenman
5344cc61f5 Fix order problem: unbusy pages before releasing the buffer.
Submitted by:	John Dyson <dyson>
1995-10-22 09:37:45 +00:00
David Greenman
d68a41903e Moved the filesystem read-only check out of the syscalls and into the
filesystem layer, as was done in lite-2. Merged in some other cosmetic
changes while I was at it. Rewrote most of msdosfs_access() to be more
like ufs_access() and to include the FS read-only check.

Obtained from: partially from 4.4BSD-lite2
1995-10-22 09:32:48 +00:00
David Greenman
6928ec3330 Simplified some expressions. 1995-10-22 02:59:48 +00:00
Poul-Henning Kamp
7503109d24 Make a lot of things static. 1995-10-21 23:13:11 +00:00
Steven Wallace
a8a9bde831 In bsd_to_ibcs2_sigaction(), flag for ibcs2 system should be
IBCS2_SA_NOCLDSTOP and not SA_NOCLDSTOP.

Submitted by:	 bde
1995-10-21 20:33:43 +00:00
Bruce Evans
725db531b8 Start including <sys/sysproto.h> to get the correct args structs and
prototypes for all syscalls.  The args structs are still declared in
comments as in VOP implementation functions.  I don't like the
duplication for this, but several more layers of changes are required
to get it right.  First we need to catch up with 4.4lite2, which uses
macros to handle struct padding.  Then we need to catch up with NetBSD,
which passes the args correctly (as void *).  Then we need to handle
varargs functions and struct padding better.  I think all the details
can be hidden in machine-generated functions so that the args structs
and verbose macros to reference them don't have to appear in the core
sources.

Add prototypes.

Add bogus casts to hide the evil type puns exposed by the previous
steps.  &uap[1] was used to get at the args after the first.  This
worked because only the first arg in *uap was declared.  This broke
when the machine- genenerated args struct declared all the args
(actually it declares extra args in some cases and depends on the
user stack having some accessible junk after the last arg, not to
mention the user args being on the stack.  It isn't possible to
declare a correct args struct for a varargs syscall).  The msgsys(),
semsys() and shmsys() syscall interfaces are BAD because they
multiplex several syscalls that have different types of args.
There was no reason to duplicate this sysv braindamage but now
we're stuck with it.  NetBSD has reimplemented the syscalls properly
as separate syscalls #220-231.

Declare static functions as static in both their prototype and their
implementation (the latter is optional, and this misfeature was used).

Remove gratuitous #includes.

Continue cleaning up new init stuff.
1995-10-21 19:50:00 +00:00
John Dyson
02c04a2f6c Implement mincore system call. 1995-10-21 17:42:28 +00:00
Bruce Evans
bcee717be5 Avoid overflow in calcru(). Fixes PR 788.
Submitted by:	imdave@synet.net (Dave Bodenstab)
1995-10-21 09:18:45 +00:00
Peter Wemm
494850b8d1 Remove bogus #include <sys/device.h>, and the bogus instances of
"struct device" and the bogus unit number mentioned in the error message.
Some other minor cleanups, all trivial.
1995-10-21 09:10:49 +00:00
David Greenman
079cc25b11 Killed a few gratuitous #include's. 1995-10-21 08:38:13 +00:00
Steven Wallace
77d5b24bcb sigset() should have sa_flags cleared to sig is maked before calling
handler (remove SA_NODEFER).

On the other hand, signal() case should set sa_flags to SA_NODEFER as
in previous change.

In addition, added #ifdef'd code for signal() to or in SA_RESETHAND
flag for when that compatability is implemented.
1995-10-21 05:01:57 +00:00
David Greenman
c1f8a6cefa Fix panic caused by PRU_CONTROL not being dealt with properly. Bug pointed
out by David Maltz <dmaltz@orval.mach.cs.cmu.edu>, but this fix is by me.
1995-10-21 02:12:20 +00:00
Poul-Henning Kamp
b59d7f4673 A mixed bag of changes, relating to getting the state in "lsdev" right,
and pccard support to work sensibly.  Better by far, but still not good.
1995-10-21 00:55:36 +00:00
John Dyson
6d875bf526 If we clear the B_CACHE flag because a buffer isn't composed fully of
valid bytes, we must also clear the B_DONE flag.  Some filesystems
depend on this (incl NFS) and is probably the cause of the biodone
error and subsequent crash.  Anyway this change needs to be made.
1995-10-19 23:48:25 +00:00
David Greenman
eed2d59b25 Fix initialization of "bsize" in vnode_pager_haspage(). It must happen
after the check for the mount point still existing or else the system
will panic if someone forcibly unmounted the filesystem.
1995-10-19 21:35:03 +00:00
Steven Wallace
3b493fe3e8 Use sa_flag option SA_NODEFER in sigsys() emulation because SVR3
does not automatically mask signal upon delivery.
1995-10-19 19:20:17 +00:00
Steven Wallace
1e41c1b5d5 Implement SA_NODEFER sa_flag for sigaction():
Add SA_NODEFER define to signal.h
	Add ps_nodefer field to struct sigacts in signalvar.h.
	Add code to kern_sig.c to handle SA_NODEFER.

If flag is set, when the signal is delivered, it is not masked automatically
from receiving the same signal again.

Reviewed by:	 wollman, bde
1995-10-19 19:16:01 +00:00
Stefan Eßer
2e80ea0536 Make CONF1_ENABLE_MSK1 even less restriktive: Ignore slot ID ... 1995-10-17 23:30:11 +00:00
Stefan Eßer
0e2f699b9e At least the ASUS Triton motherboards don't disable the PCI bus configuration
accesses after the BIOS bus scan. The previous revision made the assumption,
that every PCI motherboard did ...

Change the test on the initial value of the CONF1_ADDR_PORT register in a way
that makes the probe succeed on triton based motherboards, without breaking
the EISA motherboard that has some non-PCI register at the same address.
1995-10-17 15:23:14 +00:00
Garrett Wollman
3ba6426d14 Change signature of rt->rt_output() so that it is compatible with
ifp->if_output() functions.  This way, initial implementations of
rt_output functionality can just lazily use if_output until customized
versions are written.
1995-10-16 20:53:55 +00:00
Garrett Wollman
aca1a47cb4 When adding a route fails because there is already a route with the same
(mask,value) in the tree, don't immediately return EEXIST.  Instead, check
to see if the pre-existing route was generated by protcol-cloning.  If so,
then it is OK to simply blow away the old route and re-attempt the insertion.
If not, then fall back to the same error code as before.
1995-10-16 19:09:40 +00:00
Garrett Wollman
3d1f141b23 The ability to administratively change the MTU of an interface presents
a few new wrinkles for MTU discovery which tcp_output() had better
be prepared to handle.  ip_output() is also modified to do something
helpful in this case, since it has already calculated the information
we need.
1995-10-16 18:21:26 +00:00
Steven Wallace
473fbdbe96 Add a hack to emulator to emulat spx device for local X connections.
This is truly a hack.  The idea is taken from the Linux ibcs2 emulator.

To use this feature, you must use the option,
	options		SPX_HACK
in your config.

Also, in /compat/ibcs2/dev, you must do:

lrwxr-xr-x  1 root  wheel         9 Oct 15 22:20 X0R@ -> /dev/null
lrwxr-xr-x  1 root  wheel         7 Oct 15 22:20 nfsd@ -> socksys
lrwxr-xr-x  1 root  wheel         9 Oct 15 22:20 socksys@ -> /dev/null
crw-rw-rw-  1 root  wheel   41,   1 Oct 15 22:14 spx

Do NOT use old socksys driver as that has been removed.
This hack needs /compat/ibcs2/dev/spx to be any device that does NOT
exist/configured (so the now non-existant spx major/minor works fine).
When an open() is called, the error ENXIO is checked and then the
path is checked.  If spx open detected, then a unix socket is opened
to the hardcoded path "/tmp/.X11-unix/X0".

As the Linux hacker author mentioned, the real way would be to detect
the getmsg/putmsg through /dev/X0R and /dev/spx.  Until this true
solution is implemented (if ever), I think this hack is important
enough to be put into the tree, even though I don't like it dirtying
up my clean code (which is what #ifdef SPX_HACK is for).
1995-10-16 05:52:55 +00:00
John Dyson
0bc3a91127 Remove an unnecessary tsleep in the swapin code. This tsleep
can defer swapping in processes and is just not the right thing to do.
1995-10-16 05:45:49 +00:00
Steven Wallace
30f4c3423d Do a better fake for uname information returned in utssys() call.
Currently, the emulator defaults to returning "FreeBSD" as the system
name, release "3.2", and version "2.0".  Some programs want to make
sure they are on a SYSV 3.2 system and check for 3.X release number.

Use the following defines to override the defaults:
	IBCS2_UNAME_SYSNAME
	IBCS2_UNAME_RELEASE
	IBCS2_UNAME_VERSION
(should be string)
for system name, release, and version, respectively.  This allows
someone to compile the emulator into the kernel so it can pretend
to be a specific system if needed.
1995-10-16 05:32:20 +00:00
Stefan Eßer
287911bd50 Go back to separate tests for configuration mechanism 1 and mechanism 2.
Require the state of the configuration enable bits to be OFF assuming
that the BIOS left them that way, as it should anyway to avoid bad things
to happen.

The tests themselves are copied from the previous release, with the
exception of CONF1_ENABLE_MSK1 having the LSB set. This bit should be
read back as '0', since only DWORD addresses are legal.
1995-10-15 23:43:08 +00:00
Poul-Henning Kamp
fa356aa0c0 Pull all of libkern.a in (though not mcount) so the LKM's don't come
out shorthanded.  Makes the idea of libkern pretty void now...
1995-10-15 18:03:42 +00:00
Poul-Henning Kamp
3cad1ca223 Revert to default entry point. 1995-10-15 17:00:49 +00:00
Poul-Henning Kamp
d19e0556a0 Make LKM entry consisten with tradition: pcic_mod(). 1995-10-15 16:59:36 +00:00
Poul-Henning Kamp
e9dcb6be2d An even better idea: The default will be that on _${KMOD} (_nfs_mod...) will
be exported.  This breaks the compilation of some lkms, the owners of which
is kindly requested to consider what should be exported.
1995-10-15 16:56:56 +00:00
Poul-Henning Kamp
aa9134f375 Automatically DTRT for VFS_LKM 1995-10-15 16:46:00 +00:00
Poul-Henning Kamp
5336fc25b1 Only export our 'init' symbol. 1995-10-15 14:33:17 +00:00
Poul-Henning Kamp
a304bf73a0 Make a rule for cleaning the namelist of lkms.
TXT & DATA symbols not explicitly mentioned will be made local.
1995-10-15 14:32:26 +00:00
David Greenman
ad7823eaf1 atapi and wcd LKMs.
Submitted by:	Serge Vakulenko, <vak@cronyx.ru>
1995-10-14 15:47:29 +00:00
David Greenman
9b3e7ec49d Latest fixes from Serge:
I tried to solve the problem of IDE probing compatibility in this version.
When compiled without an ATAPI option, the wd driver is
fully backward compatible with 2.0.5.  With ATAPI option,
the wdprobe becomes strictly weaker.  That is, if wdprobe works
without ATAPI option, it will always work with it too.

Another problem was with the CD-ROM drive attached as a slave
in the IDE bus, where there is no master.  All IDE CD-ROM
drives are shipped in slave configuration, and most users
just plug them in, never thinking about jumpers.
It works fine with ms-dos and ms-windows, and this
version of the driver supports it as well.

The eject op can now load disks.  Just repeat it twice,
and the disk will be ejected and then loaded back.

The disc cannot be ejected if it is mounted.

Submitted by:	Serge Vakulenko, <vak@cronyx.ru>
1995-10-14 15:41:10 +00:00
Jordan K. Hubbard
0722017731 Coerce the exit message into making more sense. 1995-10-14 12:57:01 +00:00
Bruce Evans
f2b0c6b282 Don't allow i/o operations for non-root users. 1995-10-14 07:09:58 +00:00
Bruce Evans
21e00296ec Don't allow i/o operations for non-root users.
Add prototypes.
1995-10-14 07:08:09 +00:00
Bruce Evans
278b94817a Don't allow mmapping the page after last video page.
Obtained from:	syscons.c (bug obtained from original pccons.c)
1995-10-14 05:54:47 +00:00
Bruce Evans
cb759a257f Don't allow mmapping of physical page 6 (ENXIO).
nxmmap() returned a bogus value as well as having a bogus type.  Some
drivers use nxmmap() for configured devices (`nx' functions should
only be used for unconfigured devices).  These drivers allowed mmapping
physical page 6, which may have interesting contents.  vm has kludges
to avoid the same bug with nullop() returning page 0 and enodev()
returning page 19 (ENODEV), but didn't handle enxio() returning page 6.
vm is the wrong place to handle these bugs.
1995-10-14 05:25:45 +00:00
Bruce Evans
f7faedb40d Restore initialization of %ecx for the !I586_CPU case.
Don't declare _i586_ctr_bias.  The usual style, which was
followed in microtime.s, is to omit extern declarations.
1995-10-14 04:53:49 +00:00
Garrett Wollman
42dda55083 Only compile Pentium microtime in Pentium kernels.
Submitted by:	Michael Butler <imb@scgt.oz.au>
1995-10-13 19:53:25 +00:00
Garrett Wollman
233b60cec4 Say goodbye to IFF_NOTRAILERS. Support for trailers was officially
dropped for 4.4, but for some reason this flag lived on.  (Until
today, that is.)
1995-10-13 19:48:06 +00:00
Garrett Wollman
ed07cc7f09 Protect against routing socket messages with way-too-big address families.
Submitted by:	Keith Sklower by way of Paul Traina
1995-10-13 16:01:59 +00:00
Garrett Wollman
91badc866f Routes can be asymmetric. Always offer to /accept/ an MSS of up to the
capacity of the link, even if the route's MTU indicates that we cannot
send that much in their direction.  (This might actually make it possible
to test Path MTU discovery in a useful variety of cases.)
1995-10-13 16:00:25 +00:00
Bruce Evans
52a593eaf2 Fix select().
Remove some unused code and never-working backwards compatibility code.

Add prototypes.
Reviewed by:	babkin@hq.icb.chel.su (Serge Babkin)
1995-10-12 23:28:41 +00:00
Garrett Wollman
e2d4b1f051 Reduce jitter of Pentium microtime() implementation by letting the counter
free-run and doing a subtract in microtime() rather than resetting the
counter to zero at every clock tick.  In combination with the changes to
kern_clock.c, this should eliminate all the immediately obvious sources
of systematic jitter in timekeeping on Pentium machines.
1995-10-12 20:39:49 +00:00
Garrett Wollman
07e3b0c25b Improve clock accuracy by accounting for late/missed clock interrupts
if the hardware supports it.
1995-10-12 20:35:01 +00:00
Garrett Wollman
3abc79d2ee The additional checks involving sequence numbers in MTU discovery resends
turned out not to be necessary; simply watching for MTU decreases (which
we already did) automagically eliminates all the cases we were trying to
protect against.
1995-10-12 17:37:25 +00:00
Julian Elischer
234d1b32a8 oops currupted a line by hitting the wrong key..
fix it
1995-10-12 02:05:47 +00:00
Julian Elischer
827d45ab08 Ack!
sometime around 1.51, the check for minphys dissappeared out of
transfers for disks..
we weren't hecking that the adapter could handle a transfer of
the size we were requesting..
Peter!?
 :)
this explains the rash of failures I've seen reported recently
with "too many DMA segments" on raw devices

(added one for st as well)
1995-10-12 02:02:03 +00:00