Commit Graph

430 Commits

Author SHA1 Message Date
Peter Wemm
c447342094 Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL"
is an application space macro and the applications are supposed to be free
to use it as they please (but cannot).  This is consistant with the other
BSD's who made this change quite some time ago.  More commits to come.
1999-12-29 05:07:58 +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
Marcel Moolenaar
7ce77f279b Use genassym(1) and <sys/assym.h> to generate assembler symbols. 1999-12-23 21:19:32 +00:00
Marcel Moolenaar
00d6d49adc Use genassym(1) and <sys/assym.h> to generate assembler symbols. 1999-12-23 19:59:47 +00:00
Archie Cobbs
c01c073c4c Revert previous checkin; I incorrectly thought that it was needed
due to having an old version of bsd.kmod.mk.

Caught by:	bde
1999-12-21 20:51:34 +00:00
Julian Elischer
5129159789 Manual page style work.
Submitted by:	Alexey Zelkin <phantom@FreeBSD.org>
thanks!
1999-12-21 01:25:21 +00:00
Warner Losh
60e8df4970 i82365_isasubr is gone, remove from building module. 1999-12-19 05:49:56 +00:00
Andrew Gallatin
6c1029b1fe Enable building of the OSF/1 compat module. 1999-12-15 13:14:23 +00:00
Andrew Gallatin
32a8490d32 Finally add the Alpha OSF/1 compat code. I will add it to the
sys/modules Makefile after completing a buildworld.

History:

The bulk of this code was obtained from NetBSD approximately one year
ago (I have taken care to preserve the original NetBSD copyrights and
I thank the authors for their work.) At that time, the OSF/1 code was
what was left over from their initial bootstrapping off of OSF/1 and
did not provide support for executing shared binaries.

I have independently added support for shared libraries, and support
for some of the more obscure system calls.  This code has been
available for testing and comment since January of 1999 and running on
production machines here at Duke since April.

Known working applications include:

- Netscape (all versions I've tried)
- Mathematica 3.0.2
- Splus 3.4
- ArcInfo 7.1
- Matlab (version unknown)
- SimOS
- Atom instrumented binaries (built on a real OSF/1 system)

Applications which are known not to work:

- All applications linking to libmach
- Adobe Acrobat  (uses libmach)

This has been tested with applications running against shared
libraries from OSF/1 (aka Tru64) 4.0D and 4.0F.

Reviewed by: marcel, obrien
BDE-lint by: obrien
Agreed in principal to by: msmith
1999-12-14 22:35:36 +00:00
Boris Popov
5e04586968 Add module for if_ef driver and make it compile. 1999-12-13 16:42:17 +00:00
Martin Cracauer
e14140f43e Add a run of Linux ldconfig. 1999-12-13 08:38:22 +00:00
Peter Wemm
de8708acc2 Move mlx, ncp and nwfs to the common area, they build on the Alpha and
are marked cross-platform in conf/files..
1999-12-12 21:17:08 +00:00
Peter Wemm
983b11b5c3 Zap unused CFLAGS += -DNCP 1999-12-12 21:15:51 +00:00
Peter Wemm
7a377dc1b6 Move mlx from x86-only to generic. It builds on the Alpha and is in the
common conf/files for the main kernel..
1999-12-12 21:00:42 +00:00
Peter Wemm
7c229969ba Move amr from x86-specific to generic. (it's in the generic conf/files
in the main kernel and builds fine on the alpha here...)
1999-12-12 20:55:49 +00:00
Peter Wemm
89aaf624ea Don't waste time creating amr.h since it (and NAMR) aren't used. 1999-12-12 20:54:53 +00:00
Peter Wemm
484fa03fbf Fix joy and put it back in the MI section. (yes, it works on Alpha) 1999-12-12 20:42:58 +00:00
Peter Wemm
b4c7ee1c09 Change "atapi" (the old one) from "present but broken" to "not present". 1999-12-12 20:35:47 +00:00
Peter Wemm
b41da0980c Remove a whole bunch of "CFLAGS+= -DFSNAME" cruft. It hasn't been
needed for ages, but keeps getting cut/pasted into new Makefiles.
(Once apon a time it was used to activate mount arguments in
 <sys/mount.h>, but that was killed with extreme prejudice long ago)
1999-12-12 20:34:11 +00:00
Peter Wemm
a5aa0913bd Bring these more into line with other modules that have .h files generated
on the fly.
1999-12-12 16:47:33 +00:00
Archie Cobbs
4fc461b343 Add reference to RFC 1702, after learning how to have "T. Li"
as an author without nroff blowing up.

Problem solved by:	fenner
1999-12-10 19:29:43 +00:00
Semen Ustimenko
daabca392e First version of HPFS stuff. 1999-12-09 19:10:13 +00:00
Archie Cobbs
c4cb96e576 Update man page: BPF is supported even in the KLD version. 1999-12-09 00:25:37 +00:00
Archie Cobbs
d6e03b7f2e Fix 'make clean' 1999-12-09 00:22:34 +00:00
Archie Cobbs
add85a1d6e New netgraph node type 'pptpgre': this performs GRE encapsulation
for the PPTP protocol as specified in RFC 2637.
1999-12-08 18:55:39 +00:00
Archie Cobbs
4562620cd4 Include net/slcompress.c in the build of this module. 1999-12-08 18:51:13 +00:00
Marcel Moolenaar
7298547a1e Add opt_svr4.h to SRCS. This fixes make depend. 1999-12-08 17:27:40 +00:00
Mark Newton
6d6fd92936 SVR4 emulator source files now take their compilation options from
opt_global.h and opt_svr4.h, instead of from the command line.  This
brings them in-line with most of the rest of the kernel.

svr4_ioctl.c has also failed to compile with debugging for a while
now;  fixed by adding systm.h and socketvar.

Some svr4 source files are automatically generated from syscalls.master;
these have been committed as consequential changes, otherwise everyone
will have to "make svr4_sysent.c".

Changes:

sys/svr4/svr4.h			include opt_global.h and opt_svr4.h
sys/svr4/svr4_ioctl.c		include svr4.h, sys/systm.h and sys/socketvar.h
sys/svr4/svr4_ipc.c		include svr4.h
sys/svr4/svr4_resource.c 	include svr4.h
sys/svr4/svr4_socket.c		include svr4.h
sys/svr4/svr4_ttold.c		include svr4.h
sys/svr4/syscalls.master	include svr4.h
sys/svr4/svr4_syscallnames.c	dependent on syscalls.master
sys/svr4/svr4_sysent.c		dependent on syscalls.master
sys/svr4/svr4_syscall.h		dependent on syscalls.master
sys/svr4/svr4_proto.h		dependent on syscalls.master
sys/modules/svr4/Makefile	create opt_global.h and opt_svr4.h
1999-12-08 10:51:17 +00:00
Yoshinobu Inoue
cfa1ca9dfa udp IPv6 support, IPv6/IPv4 tunneling support in kernel,
packet divert at kernel for IPv6/IPv4 translater daemon

This includes queue related patch submitted by jburkhol@home.com.

Submitted by: queue related patch from jburkhol@home.com
Reviewed by: freebsd-arch, cvs-committers
Obtained from: KAME project
1999-12-07 17:39:16 +00:00
Guido van Rooij
e63d26e235 Add forgotten ip_fil.c and fil.c to kld version
Remove mlfk_ipl.c from here: no sources allowed in these directories!
1999-12-06 20:33:38 +00:00
Bruce Evans
106bc72bf9 Sorted SUBDIR. 1999-12-05 23:31:04 +00:00
Bill Paul
7bfe8450be Add pci_if.h to SRCS so that dcphy will build. 1999-12-05 01:39:11 +00:00
Bill Paul
96f2e892a7 Add the if_dc driver and remove all of the al, ax, dm, pn and mx drivers
which it replaces. The new driver supports all of the chips supported
by the ones it replaces, as well as many DEC/Intel 21143 10/100 cards.

This also completes my quest to convert things to miibus and add
Alpha support.
1999-12-04 17:41:31 +00:00
Julian Elischer
907b6f57b9 forgot .CURDIR
caught by Steven G. Kargl <kargl@troutmask.apl.washington.edu>
1999-12-04 03:52:29 +00:00
Archie Cobbs
92a3e5521f New netgraph node type, ng_bpf(8). This node type allows you to
apply bpf(4) filters to data travelling through a netgraph network.
1999-12-03 21:21:49 +00:00
Archie Cobbs
8e0788736e Update documentation to reflect new functionality. 1999-11-30 07:24:05 +00:00
Archie Cobbs
ac83689e01 Fix typo. 1999-11-30 06:47:54 +00:00
Archie Cobbs
f8307e1233 Add two new generic control messages, NGM_ASCII2BINARY and
NGM_BINARY2ASCII, which convert control messages to ASCII and back.
This allows control messages to be sent and received in ASCII form
using ngctl(8), which makes ngctl a lot more useful.

This also allows all the type-specific debugging code in libnetgraph
to go away -- instead, we just ask the node itself to do the ASCII
translation for us.

Currently, all generic control messages are supported, as well as
messages associated with the following node types: async, cisco,
ksocket, and ppp.

See /usr/share/examples/netgraph/ngctl for an example of using this.

Also give ngctl(8) the ability to print out incoming data and
control messages at any time.  Eventually nghook(8) may be subsumed.

Several other misc. bug fixes.

Reviewed by:	julian
1999-11-30 02:45:32 +00:00
Warner Losh
f27f6c0076 Add resource activation routines to pcic driver. Minor cleanup of
socket attach code.  We now have at least a chance for pccard devices
appearing in the future.

This is a snapshot of ongoing work.  Proceed at your own risk.
1999-11-28 21:11:13 +00:00
Bruce Evans
6f940b3847 Removed special rules for building and cleaning device interface files
and empty options files.  The rules are now generated automatically in
bsd.kmod.mk.  Cleaned up related things ($S and ${CLEANFILES}).
1999-11-28 18:53:47 +00:00
Poul-Henning Kamp
a704009d8a This fell out of a previous commit: create the opt_md.h and opt_mfs.h
files for the md module.
1999-11-26 21:01:03 +00:00
Bill Paul
dda0e6f54e Update the WaveLAN/IEEE driver:
- Convert to new bus attachment scheme. Thanks to Blaz Zupan for doing
  the initial work here. One thing I changed was to have the attach
  and detach routines work like the PCI drivers, which means that in
  theory you should be able to load and unload the driver like the PCI
  NIC drivers, however the pccard support for this hasn't settled down
  yet so it doesn't quite work. Once the pccard work is done, I'll have
  to revisit this.

- Add device wi0 to PCCARD. If we're lucky, people should be able to
  install via their WaveLAN cards now.

- Add support for signal strength caching. The wicontrol utility has
  also been updated to allow zeroing and displaying the signal strength
  cache.

- Add a /sys/modules/wi directory and fix a Makefile to builf if_wi.ko.
  Currently this module is only built for the i386 platform, though once
  the pccard stuff is done it should be able to work on the alpha too.
  (Theoretically you should be able to plug one of the WaveLAN/IEEE ISA
  cards into an alpha with an ISA slot, but we'll see how that turns out.

- Update LINT to use only device wi0. There is no true ISA version of
  the WaveLAN/IEEE so we'll never use an ISA attachment.

- Update files.i386 so that if_wi is dependent on card.
1999-11-25 20:45:49 +00:00
Guido van Rooij
5cb2cd9453 Add ipfilter kld and wire it in. 1999-11-23 22:18:17 +00:00
Brian Feldman
f7597900e9 Add vnode_if.c to CLEANFILES. 1999-11-22 06:38:30 +00:00
Brian Feldman
dc6fe48461 Change a CLEANFILES misspelling to get miibus_if.h removed. 1999-11-22 06:38:13 +00:00
Brian Feldman
aad0fe3efa Make this compile (remove vnode_if.c from SRCS) and clean properly
(add opt_bus.h to CLEANFILES).
1999-11-22 06:36:25 +00:00
Nick Hibma
8103624a82 Clean up the Makefiles, make them consistent with the others and remove
debugging falgs (-g).
1999-11-22 03:55:33 +00:00
Nick Hibma
256c40438f Add the usb module and move the USB related modules into the generic section
USB seems to compile on Alpha's as well.
1999-11-22 03:48:33 +00:00
Nick Hibma
953dc38912 USB is loadable as a module as well. 1999-11-22 03:46:33 +00:00
Julian Elischer
6a192c5e8c Document the requirement for root privileges. 1999-11-21 23:19:13 +00:00