peter [Sat, 28 Oct 1995 18:51:33 +0000 (18:51 +0000)]
Import GNU diffutils 2.7
Note, this is going to be messy.. 2.3 was vendor-branch imported, while
2.6 was done as a delta. Sigh. I'm importing this on a vendor branch so
that it will be easier to deal with next time..
(cvs-1.6 wants rcs-5.7, and rcs-5.7 suggests diffutils-2.7)
peter [Sat, 28 Oct 1995 17:45:04 +0000 (17:45 +0000)]
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.
gibbs [Sat, 28 Oct 1995 17:27:21 +0000 (17:27 +0000)]
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>
peter [Sat, 28 Oct 1995 17:06:05 +0000 (17:06 +0000)]
Add a few more heuristics to modload:
1: generate the outfile in /tmp if it's not specified explicitly.
2: if the outfile was implicitly placed in /tmp, automatically remove it.
This means that you can type: modload /lkm/ipfw_mod.o and it'll work, it
wont try and write to /lkm, and it wont leave the (normally) useless
symbol file.
This should not interfere with things like ibcs2 and atapi, which
export some symbols from one LKM to the other by leaving the symbol file.
markm [Sat, 28 Oct 1995 17:04:25 +0000 (17:04 +0000)]
Control utility for the /dev/random device. This allows root to select
which interrupts are to be used in randomess gathering. Man page for
the random device is included.
markm [Sat, 28 Oct 1995 16:58:05 +0000 (16:58 +0000)]
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
peter [Sat, 28 Oct 1995 13:06:11 +0000 (13:06 +0000)]
Make modload calculate a reasonable default entry point name, in light
of the recent changes to bsd.kmod.mk, which enforces that the entry
point be <modname>_mod, unless overridden.
This means that when modloading "/lkm/foo_mod.o", it'll use "foo_mod"
as the default entry point (instead of xxxinit) unless you specify
another via the -e option.
phk [Sat, 28 Oct 1995 12:59:25 +0000 (12:59 +0000)]
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.
peter [Sat, 28 Oct 1995 12:35:14 +0000 (12:35 +0000)]
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.
peter [Sat, 28 Oct 1995 12:27:20 +0000 (12:27 +0000)]
symorder appears to have been designed to run on executable files
only, as it payes no attention to the relocation table (which
references the symbols).
As a result, running "symorder -c" to clean up the visibility of a LKM
".o" file (as is done in the new bsd.kmod.mk) totally screws up the
relocation table, making the LKM file unloadable. (ld: bogus
relocation record)
This is a pretty crude fix - I've changed symorder so that when
running in "cleanup" mode, it disables the reordering which was
screwing up the relocation table. I'm sure there is a better fix, but
I didn't have the energy. Feel free to fix this hack, probably by
renumbering the symbol indexes in the relocation table.
peter [Sat, 28 Oct 1995 09:39:57 +0000 (09:39 +0000)]
At the risk of starting a commit-war, attempt to fix once and for all, the
"make distrib-dirs" target.
Neither of Andrey's two attempts have worked for me with the [ -h ..]
test both with && and ||.
I've changed it to a full
if [ -h ...]; then \
rm ... ; \
fi ; \
construct. It's much clearer what's meant to happen, and it works! :-)
bde [Sat, 28 Oct 1995 08:50:08 +0000 (08:50 +0000)]
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.
gibbs [Thu, 26 Oct 1995 23:57:18 +0000 (23:57 +0000)]
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.
gibbs [Thu, 26 Oct 1995 23:54:13 +0000 (23:54 +0000)]
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.
julian [Thu, 26 Oct 1995 21:28:30 +0000 (21:28 +0000)]
Reviewed by: julian and Mike Mitchel
Submitted by: john Hay (John.Hay@csir.co.za)
John's IPXrouted..
this has not yet been seen to run correctly with Mike's IPX/SPX
code (he has his own)
bringing them both in is the first step in merging the two packages
for 2.2
julian [Thu, 26 Oct 1995 20:31:59 +0000 (20:31 +0000)]
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
wpaul [Thu, 26 Oct 1995 16:25:29 +0000 (16:25 +0000)]
Import the first cut of my (finally finished) revnetgroup program. This
program parses the /etc/netgroup file into netgroup.byuser and netgroup.byhost
format for NIS.
I used hash tables to store the initial netgroup data in memory and to
construct the 'reverse' netgroup output. It seems just as fast as the
SunOS revnetgroup, which is surprising considering this is my first
attempt at using hash tables in a real application. :)
Note that I canibalized a large chunk of getnetgrent.c to save myself
from having to write my own netgroup parsing functions.
jkh [Thu, 26 Oct 1995 08:11:24 +0000 (08:11 +0000)]
o Fix installUpgrade to start the holographic shell as well.
o Lots of documentation fixes.
o Rename FTP active to "FTP" and explain passive mode better.
o Make tcpip screen a bit more friendly.
o Literally dozens of nits.
dg [Thu, 26 Oct 1995 07:40:11 +0000 (07:40 +0000)]
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."
bde [Wed, 25 Oct 1995 17:59:58 +0000 (17:59 +0000)]
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.
jkh [Wed, 25 Oct 1995 16:41:22 +0000 (16:41 +0000)]
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>
nate [Wed, 25 Oct 1995 16:16:35 +0000 (16:16 +0000)]
Run-time linker speedups - Round One
Implemented symbol memorizing to reduce the number of calls to lookup(),
making relocation go faster. While relocating a given shared object,
the dynamic linker maintains a memorizing vector that is directly
indexed by the symbol number in the relocation entry. The first time a
given symbol is looked up, the memorizing vector is filled in with a
pointer to the symbol table entry, and a pointer to the so_map of the
shared object in which the symbol was defined. On subsequent uses of
the same symbol, that information is retrieved directly from the
memorizing vector, without calling lookup() again.
A symbol that is referenced in a relocation entry is typically
referenced in many relocation entries, so this memorizing reduces the
number of calls to lookup() dramatically. The overall improvement in
the speed of dynamic linking is also dramatic -- as much as a factor of
three for programs that use many shared libaries.
jkh [Tue, 24 Oct 1995 13:46:35 +0000 (13:46 +0000)]
Fix a silly bug where MAXPATHLEN was subtracted from the string length rather
than the other way around!
Submitted by: Elmar Bartel <bartel@informatik.tu-muenchen.de>