wpaul [Tue, 22 Aug 2000 23:26:51 +0000 (23:26 +0000)]
Fix up the sis driver, largely to improve the NatSemi DP83815 support:
- Modify the driver to poll the link state and positively set the
MAC to full or half duplex as needed. Previously, it was possible
for the MAC to remain in half duplex even though the PHY had negotiated
full duplex with its link partner, which would result in bursty
performance.
- Program some of the NatSemi's registers as specified by the datasheet.
The manual says these are necessary for "optimum perofrmance," though
a couple of them are marked as reserved in the register map. *shrug*
- Select the TX DMA burst size correctly for 10 and 100mbps modes.
Previously I was using 64 bytes in both modes, which worked in
100mbps mode, but resulting in spotty performance in 10mbps.
32 bytes works much better; without this change, the natsemi
chip yields piss poor performance at 10mbps.
With these fixes, the NatSemi chip finally performs to my satisfaction.
I should be merging the support for this controller into -stable shortly.
marcel [Tue, 22 Aug 2000 07:08:33 +0000 (07:08 +0000)]
Finish the Linuxulator MD/MI split.
In summary:
o This file has been moved to sys/compat/linux,
o Any MD syscalls in this file are moved to
linux_machdep.c in sys/i386/linux,
o Include directives, makefiles and config files
have been updated.
green [Tue, 22 Aug 2000 02:15:54 +0000 (02:15 +0000)]
Add working and easy crypt(3)-switching. Yes, we need a whole new API
for crypt(3) by now. In any case:
Add crypt_set_format(3) + documentation to -lcrypt.
Add login_setcryptfmt(3) + documentation to -lutil.
Support for switching crypt formats in passwd(8).
Support for switching crypt formats in pw(8).
The simple synopsis is:
edit login.conf; add a passwd_format field set to "des" or "md5"; go nuts :)
sobomax [Mon, 21 Aug 2000 10:21:28 +0000 (10:21 +0000)]
Fix a bug introduced by my own previous commit (addition of the current
line/column display).
I overlooked that ee(1) doesn't maintain proper line numbering when
adding/removing lines, so after those operations linenumber displayed may not
match the reality. Also use proper variable for current column diaplay, because
the one used previously reflects the offset of current char, which doesn't
equial screen position when tabs present.
cg [Sun, 20 Aug 2000 22:18:56 +0000 (22:18 +0000)]
rework feeder sytem to allow feeders in klds
modify driver capability reporting format to list every audio format
seperately- required for above and because we could not previously indicate
that mono was unsupported.
markm [Sun, 20 Aug 2000 10:03:26 +0000 (10:03 +0000)]
Fixes and cleanups to the perl build; don't error out when NOCLEAN is
set and directories are being (re)made; build the procname ($0) stuff,
don't install miniperl.
(Miniperl needs a revisit).
imp [Sat, 19 Aug 2000 19:25:23 +0000 (19:25 +0000)]
Work around a possible kernel linker bug. It appears that the data
elements defined by foo_if.c aren't sharable amoung modules (I'm
working on a bug report for it now), or else I don't understand
something. It showed up as kobj functions not being called.
In any event, link in the pcic and pccard parts of the modules to work
around the problem for now.
markm [Sat, 19 Aug 2000 12:28:23 +0000 (12:28 +0000)]
Fix the arguments to [(1) (AKA test(1)). If the string being tested
by -n is nonexistant, then the following -d was misinterpreted with
a strange error. By putting double quotes (") around the argument,
we can be sure there is _something_ there that we can check a zero
length against.
dwmalone [Sat, 19 Aug 2000 08:32:59 +0000 (08:32 +0000)]
Replace the mbuf external reference counting code with something
that should be better.
The old code counted references to mbuf clusters by using the offset
of the cluster from the start of memory allocated for mbufs and
clusters as an index into an array of chars, which did the reference
counting. If the external storage was not a cluster then reference
counting had to be done by the code using that external storage.
NetBSD's system of linked lists of mbufs was cosidered, but Alfred
felt it would have locking issues when the kernel was made more
SMP friendly.
The system implimented uses a pool of unions to track external
storage. The union contains an int for counting the references and
a pointer for forming a free list. The reference counts are
incremented and decremented atomically and so should be SMP friendly.
This system can track reference counts for any sort of external
storage.
Access to the reference counting stuff is now through macros defined
in mbuf.h, so it should be easier to make changes to the system in
the future.
The possibility of storing the reference count in one of the
referencing mbufs was considered, but was rejected 'cos it would
often leave extra mbufs allocated. Storing the reference count in
the cluster was also considered, but because the external storage
may not be a cluster this isn't an option.
The size of the pool of reference counters is available in the
stats provided by "netstat -m".
PR: 19866
Submitted by: Bosko Milekic <bmilekic@dsuper.net>
Reviewed by: alfred (glanced at by others on -net)
imp [Sat, 19 Aug 2000 05:01:07 +0000 (05:01 +0000)]
Call bus_generic_detach on pcic before deleting the children. This
has the side effect of detaching the children before I delete them.
When I put the last commits in a loop for loop it died after 5 or so
iterations. After this change, I lasted 50 before I stopped the test.
sheldonh [Fri, 18 Aug 2000 08:11:23 +0000 (08:11 +0000)]
The output of this script got a little broken in rev 1.225, with
the output for the linux_enable and svr4_enable stuff "floating
in the middle of nowhere".
Give them their own section, called "additional ABI support".
dwmalone [Fri, 18 Aug 2000 08:02:31 +0000 (08:02 +0000)]
The slip driver used to allocate a mbuf cluster without attaching
it to a mbuf. This patch makes it attach it to mbuf. This patch
is in preperation for Bosko Milekic's mbuf external reference
counting patches.
PR: 19866 (first stage)
Submitted by: Ian Dowse <iedowse@maths.tcd.ie>
Reviewed by: alfred
archie [Thu, 17 Aug 2000 23:51:47 +0000 (23:51 +0000)]
(forced commit: previous commit message was truncated)
Fix two bugs:
- The ftpPassive() function seemed to think that the PASV command
is a toggle. This is not true (however, the ftp(1) "pass" command
is indeed a toggle). So no need to emit a "PASV" command each time
this function is called; that's handled by ftp_file_op().
- check_passive() is supposed to check if FTP_PASSIVE_MODE is defined,
and if so, override ftpPassive(). However, it was overriding
ftpPassive() even if FTP_PASSIVE_MODE was not defined, rendering
calls to the ftpPassive() function completely ineffectual.
Also, clarify the relationship between ftpPassive() and the
FTP_PASSIVE_MODE environment variable in the man page.