Commit Graph

44364 Commits

Author SHA1 Message Date
peter
901351ff0d Fix a panic when doing non-multiples of PAGE_SIZE or misaligned transfers
to a swap backed vn device.

OK'ed by:	dillon
1999-12-28 07:32:34 +00:00
peter
38a9421a1e Fix the swap backed vn case - this was broken by my rev 1.128 to
swap_pager.c and related commits.

Essentially swap_pager.c is backed out to before the changes, but
swapdev_vp is converted into a real vnode with just VOP_STRATEGY().
It no longer abuses specfs vnops and no longer needs a dev_t and
/dev/drum (or /dev/swapdev) for the intermediate layer.

This essentially restores the vnode interface as the interface to the
bottom of the swap pager, and vm_swap.c provides a clean vnode interface.

This will need to be revisited when we swap to files (vnodes) - which
is the other reason for keeping the vnode interface between the swap pager
and the swap devices.

OK'ed by:	dillon
1999-12-28 07:30:55 +00:00
rwatson
425c15d62c Suppress vast quantities of unneeded warnings spewed by libc's gethostbydns
on encountering a real-world SIG record during a lookup of another type.

PR:		bin/7352
Reviewed by:	peter, eivind
1999-12-28 07:21:08 +00:00
msmith
a9559776cd Correctly handle a user-requested abort in the middle of displaying a
help subtopic.

PR:		kern/13196
Submitted by:	MIHIRA Sanpei Yoshiro <sanpei@sanpei.org>
1999-12-28 07:19:22 +00:00
msmith
d73a050489 Add display of maximum allowed mbuf count to match mbuf cluster count.
Submitted by:	Bosko Milekic <bmilekic@dsuper.net>
1999-12-28 06:38:37 +00:00
msmith
04d30dbb49 Actively limit the allocation of mbufs to NMBUFS/nmbufs and mbuf clusters
to NMBCLUSTERS/nmbclusters/kern.ipc.nmbclusters.

Add a read-only sysctl kern.ipc.nmbufs matching kern.ipc.nmbclusters.

Submitted by:	Bosko Milekic <bmilekic@dsuper.net>
1999-12-28 06:35:57 +00:00
billf
cbc12a3b7e Fix a small typo in the comments. 1999-12-28 06:04:29 +00:00
hoek
9495b8cb30 Dedocument one of the BUGS listed in the last commit. The bug (needless
calculation of line numbers) never existed and the two bugs that made me
think it existed have been fixed (see recent commits about this date to
linenum.c:r.1.3 and ch.c:r.1.8 fixing broken line-number buffering and
braindead algorithms respectively).
1999-12-28 05:56:33 +00:00
hoek
5e2e694640 Rather than use an LRU-ordered circular list to store buffered data,
simply keep an index into the last access on the circular list and begin
searches at that point.  An LRU list is inappropriate here since the
vast majority of accesses will occur in the same order that the list
is created in.  The only case where an LRU is remotely useful here is when
reading from a file and the user is jumping to randomish positions and
constantly returning to some central position.  Even for this case it is
such a small optimization as not to be noticed in an interactive program
such as more(1).

This change results in a _tremendously_ noticable speed-up when reading long
files through a pipe (where long = ~200k, machine = ~2.5h single-disk
worldstone).
1999-12-28 05:47:24 +00:00
shin
21448b4627 Small bug fix and improvements
(1)added error check of if_nameindex() return value at getaddrinfo().
  (2)print out more detailed information when getaddrinfo() error value
     is EAI_SYSTEM.(in this case system error num is kept in errno)

(1) is Discovered by: jinmei@kame.net in KAME environment.
1999-12-28 05:37:39 +00:00
green
8b8214b6d3 Upgrade to the pam_ssh module, version 1.1..
(From the author:)
Primarily, I have added built-in functions for manipulating the
environment, so putenv() is no longer used.  XDM and its variants
should now work without modification.  Note that the new code uses
the macros in <sys/queue.h>.

Submitted by:	Andrew J. Korty <ajk@iu.edu>
1999-12-28 05:32:54 +00:00
jdp
363b7bd537 Work around an assert failure in the dynamic linker's default thread
locking functions.  If an application loads a shared object with
dlopen() and the shared object has an init function which requires
lazy binding, then _rtld_bind is called when the thread is already
inside the dynamic linker.  This leads to a recursive acquisition
of the lock, which I was not expecting -- hence the assert failure.

This work-around makes the default locking functions handle recursive
locking.  It is NOT the correct fix -- that should be implemented
at the generic locking level rather than in the default locking
functions.  I will implement the correct fix in a future commit.

Since the dllockinit() interface will likely need to change, warn
about that in both the man page and the header file.
1999-12-28 04:38:17 +00:00
hoek
c96f8e891f Delete dead code and clean comments a little. 1999-12-28 03:01:20 +00:00
shin
8c2ccb59ca Getaddrinfo(), getnameinfo(), and etc support in libc/net.
Several udp and raw apps IPv6 support.

Reviewed by: freebsd-arch, cvs-committers
Obtained from: KAME project
1999-12-28 02:37:14 +00:00
wpaul
b39a79861d This commit adds device driver support for the ADMtek AN986 Pegasus
USB ethernet chip. Adapters that use this chip include the LinkSys
USB100TX. There are a few others, but I'm not certain of their
availability in the U.S. I used an ADMtek eval board for development.
Note that while the ADMtek chip is a 100Mbps device, you can't really
get 100Mbps speeds over USB. Regardless, this driver uses miibus to
allow speed and duplex mode selection as well as autonegotiation.
Building and kldloading the driver as a module is also supported.

Note that in order to make this driver work, I had to make what some
may consider an ugly hack to sys/dev/usb/usbdi.c. The usbd_transfer()
function will use tsleep() for synchronous transfers that don't complete
right away. This is a problem since there are times when we need to
do sync transfers from an interrupt context (i.e. when reading registers
from the MAC via the control endpoint), where tsleep() us a no-no.
My hack allows the driver to have the code poll for transfer completion
subject to the xfer->timeout timeout rather that calling tsleep().
This hack is controlled by a quirk entry and is only enabled for the
ADMtek device.

Now, I'm sure there are a few of you out there ready to jump on me
and suggest some other approach that doesn't involve a busy wait. The
only solution that might work is to handle the interrupts in a kernel
thread, where you may have something resembling a process context that
makes it okay to tsleep(). This is lovely, except we don't have any
mechanism like that now, and I'm not about to implement such a thing
myself since it's beyond the scope of driver development. (Translation:
I'll be damned if I know how to do it.) If FreeBSD ever aquires such
a mechanism, I'll be glad to revisit the driver to take advantage of
it. In the meantime, I settled for what I perceived to be the solution
that involved the least amount of code changes. In general, the hit
is pretty light.

Also note that my only USB test box has a UHCI controller: I haven't
I don't have a machine with an OHCI controller available.

Highlights:

- Updated usb_quirks.* to add UQ_NO_TSLEEP quirk for ADMtek part.
- Updated usbdevs and regenerated generated files
- Updated HARDWARE.TXT and RELNOTES.TXT files
- Updated sysinstall/device.c and userconfig.c
- Updated kernel configs -- device aue0 is commented out by default
- Updated /sys/conf/files
- Added new kld module directory
1999-12-28 02:01:18 +00:00
imp
293c4f50f0 Two nits and disable isa probe due to its overly agressive claiming of
devices.
o Return ENXIO from sn_isa_probe
o Fix SN_DEBUG printf
o Use IFQ_MAXLEN rather than 8

I'll fix the isa probe when I get access to a real isa attachment
device to test against here in a few days.

Overly agressive snagging behavior noticed by: phk
1999-12-28 01:07:16 +00:00
hoek
83843a44a4 Correctly maintain state when manipulating linked lists. This fixes a
bug that prevented the line-number buffer from working correctly.  AFAIK
the bug is still present in other derivatives of more(1).
1999-12-27 20:53:35 +00:00
shin
9c7b85f0e8 Add ipsec_esp option to files which depend on crypto.
Now you can build a kernel which support IPsec message authentication
but don't support message encryption, by defining IPSEC in your kernel
config file and not defining IPSEC_ESP.
1999-12-27 18:53:24 +00:00
hoek
d09ff1ad4f Initialize unitialized variable from prev. commit. 1999-12-27 17:33:25 +00:00
bde
1467acf6d6 Fixed breakage of static linkage of rlogind. Someone added -lutil and
-lcom_err to some libpam modules without updating LIBPAM here.
1999-12-27 17:25:40 +00:00
bde
69a3e4e3c7 Fixed some bugs (one serious one: timeouts were claimed to be executed at
spl0) and some bitrot (the not-so-new callout_init/stop/reset functions
were not mentioned; the callout_activate/deactivate/pending macros are
still not mentioned).

Submitted by:	mostly by jlemon
1999-12-27 16:22:20 +00:00
peter
a6b139a8de Fix typo "," vs ";"
PR:		15696
Submitted by:	Takashi Okumura <taka@cs.pitt.edu>
1999-12-27 16:03:38 +00:00
bde
f0d13b7a31 Fixed namespace pollution in rev.1.24 (don't implement <sys/signal.h> here).
Fixed long lines.
1999-12-27 15:54:52 +00:00
kato
3ee84d162b Synced with sys/isa/sio.c rev 1.282. 1999-12-27 14:01:06 +00:00
kato
898aba9f29 Synced with sys/i386/isa/clock.c rev 1.148. This is a cosmetic change
because PC-98 doesn't have RTC and RTC related code is included by
`#ifndef PC98' and `#endif'.
1999-12-27 13:56:54 +00:00
kato
3726c476f2 Synced with sys/i386/conf/Makefile.i386 rev 1.169. 1999-12-27 13:53:43 +00:00
bde
444fb5c38d Synced with Makefile.i386. The following cleanups in Makefile.i386
rev.1.168 should have been committed concurrently:

Fixed some style bugs (always use precisely 1 space after `:' in
dependency specifications).
Removed bogus dependency of ${FULLKERNEL} on ${BEFORE_DEPEND}.

Reminded by:	peter
1999-12-27 12:06:11 +00:00
brian
5269dd341c Add a bunch of `const's and fix a typo.
Submitted by: Rich Neswold <rneswold@MCS.Net>
1999-12-27 11:54:57 +00:00
brian
8d3683f53b Don't allowt '#' as a comment when it's embedded in quotes:
set something "xxx yyy # zzz" aaa

shouldn't be interpreted as

  set something "xxx yyy" aaa
1999-12-27 11:43:31 +00:00
asmodai
216d01507f Fix some typo's.
PR:		15678
Submitted by:	Christian Weisgerber <naddy@mips.rhein-neckar.de>
1999-12-27 11:02:43 +00:00
bde
18bc492d10 This should have been committed with related changes to .c files.
Changed the type used to represent the user stack pointer from `long *'
to `register_t *'.  This fixes bugs like misplacement of argc and argv
on the user stack on i386's with 64-bit longs.  We still use longs to
represent "words" like argc and argv, and assume that they are on the
stack (and that there is stack).  The suword() and fuword() families
should also use register_t.
1999-12-27 10:47:32 +00:00
bde
e449cadeeb Changed the type used to represent the user stack pointer from `long *'
to `register_t *'.  This fixes bugs like misplacement of argc and argv
on the user stack on i386's with 64-bit longs.  We still use longs to
represent "words" like argc and argv, and assume that they are on the
stack (and that there is stack).  The suword() and fuword() families
should also use register_t.
1999-12-27 10:42:55 +00:00
bde
dc68d5537a Fixed some type mismatches. p_retval[0] in struct proc has type
register_t, so pointers to it must be passed around as `register_t *',
not as `int *'.  The type mismatches were non-benign on alphas, but
the broken code is normally only configured by LINT.
1999-12-27 10:22:09 +00:00
peter
fe7ce73a65 Connect up the bootforth glue and compile it, but don't initialize it
at runtime as it has a nasty habit of crashing on the Alpha :-(.
This is being done this way so we have a common starting point for
debugging.
1999-12-27 09:20:33 +00:00
mjacob
8f93614b09 Add in missing ENABLE TARGET MODE opcode. 1999-12-27 08:47:11 +00:00
peter
070fb078b6 Tidy up some loose ends. nullfs_read/write were returning the wrong value.
Fix some ctype problems - isascii() caused a warning if fed an unsigned
char - it's always > 0 and libstand is compiled with -Wall.
Missing prototype/include in printf.c
1999-12-27 08:45:14 +00:00
peter
0e302599d7 Make this compile with -Wall -Werror 1999-12-27 08:40:40 +00:00
julian
4cc0e66b67 Reset the Zoom 56K modem when starting to use it.
Failing to do so freezes your system.

Submitted by:Sean O'Connell <sean@stat.Duke.EDU>  (my hero)
1999-12-27 08:39:29 +00:00
peter
78525996f4 kvm_mkdb(8) no longer exists (in .Xr) and kvm_nlist(8) has even less to do
with dev_mkdb(8) than it did before.
1999-12-27 08:01:11 +00:00
peter
ff43778838 Include opt_nfs.h
PR:		15711
Submitted by:	Wilko Bulte <wilko@yedi.iaf.nl>
1999-12-27 07:51:05 +00:00
peter
d29a3707c6 Remove kvm_mkdb as it isn't installed anymore. libkvm asks directly
via kldsym(2), and crash dumps use nlist directly (and always have).
1999-12-27 07:43:07 +00:00
peter
7db4aa0748 Zap kvm_mkdb, it was for kvm_nlist's benefit, but now it goes direct
to the in-kernel hashed symbol tables (including modules).
1999-12-27 07:27:50 +00:00
peter
28fa8aa8fa Zap the kvm_kernel.db juggling at 'make install' time, it isn't needed
any more.
1999-12-27 07:19:45 +00:00
peter
f191f80ec6 Zap kvm_kernel.db stuff now that libkvm gets it directly from the running
kernel.
1999-12-27 07:17:51 +00:00
peter
047fa82dd0 Use kldsym(2) to lookup symbol values. This avoids the kvm_mkdb juggling
and is module aware.  Yes, this means that kvm_nlist(3) will find symbols
in loaded modules.  The emulation of the nlist struct is pretty crude but
seems to work well enough for all the users in the tree that I found.
1999-12-27 07:14:58 +00:00
green
04cead132d Correct an uninitialized variable use, which, unlike most times, is
actually a bug this time.

Submitted by:	bde
Reviewed by:	bde
1999-12-27 06:31:53 +00:00
peter
b21353b480 Recognize the GVC0505 (GVC 56k Faxmodem) as a sio device.
Obtained from: Dan J Fraser <dfraser@capybara.org> (for NetBSD)
1999-12-27 05:02:25 +00:00
jdp
52ec4df9e8 Add a new function dllockinit() for registering thread locking
functions to be used by the dynamic linker.  This can be called by
threads packages at start-up time.  I will add the call to libc_r
soon.

Also add a default locking method that is used up until dllockinit()
is called.  The default method works by blocking SIGVTALRM, SIGPROF,
and SIGALRM in critical sections.  It is based on the observation
that most user-space threads packages implement thread preemption
with one of these signals (usually SIGVTALRM).

The dynamic linker has never been reentrant, but it became less
reentrant in revision 1.34 of "src/libexec/rtld-elf/rtld.c".
Starting with that revision, multiple threads each doing lazy
binding could interfere with each other.  The usual symptom was
that a symbol was falsely reported as undefined at start-up time.
It was rare but not unseen.  This commit fixes it.
1999-12-27 04:44:04 +00:00
tanimura
efacb21bbc Add support of SB for PC98 into VoxWare 3.5, and more $FreeBSD$.
Submitted by:		T.Yamaoka <taka@windows.squares.net>
Pressed to review by:	nyan
1999-12-27 04:37:19 +00:00
bde
efb5cc9fac Fixed stripping of aout debugging kernels.
Fixed some style bugs (always use precisely 1 space after `:' in
dependency specifications).
Removed bogus dependency of ${FULLKERNEL} on ${BEFORE_DEPEND}.
1999-12-26 17:07:15 +00:00