Commit Graph

44073 Commits

Author SHA1 Message Date
Yoshinobu Inoue
7d56d3747c 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
Bill Paul
ed63a7aaef 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
Warner Losh
f9fe4786ef 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
Tim Vanderhoek
79bf951d43 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
Yoshinobu Inoue
a57e826a49 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
Tim Vanderhoek
defd7401e5 Initialize unitialized variable from prev. commit. 1999-12-27 17:33:25 +00:00
Bruce Evans
e5389fb1c8 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
Bruce Evans
20c4d417bc 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 Wemm
e0f9d2869a Fix typo "," vs ";"
PR:		15696
Submitted by:	Takashi Okumura <taka@cs.pitt.edu>
1999-12-27 16:03:38 +00:00
Bruce Evans
8e95fb7696 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 Takenori
d224d2aea2 Synced with sys/isa/sio.c rev 1.282. 1999-12-27 14:01:06 +00:00
KATO Takenori
b8559e5e3f 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 Takenori
18a1cdb3e6 Synced with sys/i386/conf/Makefile.i386 rev 1.169. 1999-12-27 13:53:43 +00:00
Bruce Evans
f11c215715 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 Somers
182c898a22 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 Somers
5b78bdf8aa 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
Jeroen Ruigrok van der Werven
bffd29ff1c Fix some typo's.
PR:		15678
Submitted by:	Christian Weisgerber <naddy@mips.rhein-neckar.de>
1999-12-27 11:02:43 +00:00
Bruce Evans
e3bdd87102 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
Bruce Evans
654f6be1c8 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
Bruce Evans
9f79feec16 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 Wemm
7f69314760 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
Matt Jacob
762fa8a53f Add in missing ENABLE TARGET MODE opcode. 1999-12-27 08:47:11 +00:00
Peter Wemm
59e1f32482 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 Wemm
0ba6f08f0a Make this compile with -Wall -Werror 1999-12-27 08:40:40 +00:00
Julian Elischer
e1f5bec4cc 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 Wemm
7cda2db0ec 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 Wemm
d4005b9eb1 Include opt_nfs.h
PR:		15711
Submitted by:	Wilko Bulte <wilko@yedi.iaf.nl>
1999-12-27 07:51:05 +00:00
Peter Wemm
7ad20304af 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 Wemm
32591efd04 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 Wemm
07ed92fb01 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 Wemm
e1f75a9fa6 Zap kvm_kernel.db stuff now that libkvm gets it directly from the running
kernel.
1999-12-27 07:17:51 +00:00
Peter Wemm
c4a7cdb3b6 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
Brian Feldman
c2696359ab 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 Wemm
9928855f97 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
John Polstra
d3980376e8 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
Seigo Tanimura
fdba49eb7e 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
Bruce Evans
22ddeb4b77 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
Bruce Evans
3c7f758bda Fixed spelling error in document title.
Fixed syntax error in synopsis.
1999-12-26 16:58:31 +00:00
Eivind Eklund
2b184c5087 Fix tab completion mounts (like /cdrom/)
Submitted by:	Martin Blapp <mb@imp.ch>
1999-12-26 16:34:53 +00:00
Bruce Evans
9bcde22f7a Don't include <isa/isavar.h> or compile code depending on it when isa
is not configured.  Including <isa/isavar.h> when it is not used is
harmful as well as bogus, since it includes "isa_if.h" which is not
generated when isa is not configured.
1999-12-26 16:21:19 +00:00
Bruce Evans
bcf269395d Moved $FreeBSD$ to its usual place after the CSRG id.
Fixed some style bugs for cam (superflous umask and missing newline).

Fixed bogons for apm.  The pattern "apm*" matched too many things; apm
and apmctl were both made twice by `MAKEDEV all'.  Hopefully no one
depends on `MAKEDEV apm0' making apm or on `MAKEDEV apm' making apmctl.
1999-12-26 15:24:58 +00:00
Peter Wemm
6e6afaaf50 Update the cvs pserver example so that it gives some more obvious clues
about the --allow-root switch.

PR:		14463
1999-12-26 15:18:58 +00:00
Bruce Evans
04d6f826d6 Updated a comment to match code. 1999-12-26 14:16:00 +00:00
Bruce Evans
f85bdfcc66 Removed unused includes.
Rumoved unused compatibility cruft for dup().  Using it today would just
break dup() on fd's >= 64.

Fixed some style bugs.
1999-12-26 14:07:43 +00:00
Bruce Evans
da211f5bf6 Use vfs_timestamp() instead of getnanotime() to set timestamps. This
fixee incoherency of pipe timestamps relative to file timestamps in
the usual case where getnanotime() is not used for the latter.  (File
and pipe timestamps are still incoherent relative to real time unless
the vfs_timestamp_precision sysctl is set to 2 or 3).
1999-12-26 13:04:52 +00:00
Bruce Evans
ffd344ddbb Replaced the INTRMASK and INTRUNMASK macros by "|" and "&~" operations.
Some interface botches went away, leaving the macros unused outside of
the implementation of interrupt masking, and it was silly for the
implementation to use the macros in only one place each.
1999-12-26 12:43:47 +00:00
Bruce Evans
265cdeddb7 Fixed breakage of read-only opening of /dev/*mem at securelevel > 0 in
previous pair of commits.

Spell the "securelevel > 0" check consistently.

Use the proc arg instead of curproc in mmopen() and mmclose().
1999-12-26 11:44:45 +00:00
Peter Wemm
7c361b70c5 Fix a mistake in the PNP EISA-encoding of the Avance ALS120 id.
Submitted by:	Bryan Liesner <bleez@netaxs.com>
1999-12-26 10:51:47 +00:00
Bruce Evans
a824498e2d Removed ex script left over from incomplete backout in previous commit.
Use SYMLINKS instead of an ad hoc rule for installing words -> web2.
Don't override the install target; doing so just breaks things like
SYMLINKS.

Don't override the correct defaults for the all, clean, depend, lint
and tags targets.  Don't add a null rule to the cleandepend target.
1999-12-26 10:31:29 +00:00
KATO Takenori
1b1deb2dba Oops, deactivate ed drivers because of undefiend references from
if_ed_pci.o.
1999-12-26 05:26:43 +00:00