Commit Graph

472 Commits

Author SHA1 Message Date
archie
3c6de034ba - Document updates in iface netgraph node type functionality
- Remove makefile hacks for opt_inet.h, etc: the KLD now supports
  whatever address families your kernel was compiled with automagically
2000-03-13 19:19:48 +00:00
archie
b749ed4523 Fix typo.
Reported by:	Robert Swindells <swindellsr@genrad.co.uk>
2000-03-13 18:29:58 +00:00
archie
f51797e6dc Correct man page title. 2000-03-10 20:38:24 +00:00
sheldonh
e814f513ec Disconnect pcfclock from the build until it works on the Alpha. 2000-03-01 07:42:09 +00:00
billf
cf79856b7f Add a little more history of when netgraph appeared in FreeBSD.
Reviewed by:	asmodai
2000-02-29 18:32:26 +00:00
sheldonh
b711ca6e94 Enable pcfclock as a kernel loadable module.
PR:		16804
Submitted by:	sascha@schumann.cx
Approved by:	jkh (release engineer)
2000-02-29 10:57:42 +00:00
peter
d7e5eb3faa Use config's conditional compilation rather than using #ifdefs that make
modular compilation harder.  I'm doing this because people seem to like
cut/pasting examples of bad practices in existing code.
2000-01-29 15:08:56 +00:00
brian
aed8e5f0eb Restore to version 1.14. Only opt_inet.h is required again. 2000-01-29 01:11:03 +00:00
bde
17f54b4408 Add ${DEBUG_FLAGS} to CFLAGS in bsd.kmod.mk, not in scattered module
makefiles.  Bad examples in fxp/Makefile keep getting copied to new
makefiles.
2000-01-28 11:26:46 +00:00
peter
e3e26fd9df Move if_tun back to the common section now that it works on the Alpha.
Tested by:	make world
2000-01-27 13:42:42 +00:00
peter
b498317a66 Re-add vpo. I've just re-tested this in a 'make world' on a December
vintage system, well before the ppbus changes.  When I called it an
"example" module, I meant as an example for the rest of the ppbus client
drivers, not that it was worthless.  I'll mail my 5.8MB world.log to
anybody who doesn't believe me.

Wrongly accused by:	obrien
2000-01-26 15:15:50 +00:00
obrien
994e477fcd Remove `vpo' with a vengeance -- "EXAMPLE" modules have *NO* business
being hooked up to the build system, *COMPILABLE WORKING* modules do.

Not `make' tested by:	Peter
2000-01-26 02:05:16 +00:00
brian
1d67bbf0a1 Don't use ATM on the alpha - it #errors out.
Pointed out by: jdp
2000-01-26 01:08:03 +00:00
obrien
9ed45b0d46 if_tun is out of here -- it can come back with it stops breaking the
Alpha build.
2000-01-26 00:47:45 +00:00
brian
26fcba4c5a Move the *intrq variables into net/intrq.c and unconditionally
include this in all kernels.  Declare some const *intrq_present
variables that can be checked by a module prior to using *intrq
to queue data.

Make the if_tun module capable of processing atm, ip, ip6, ipx,
natm and netatalk packets when TUNSIFHEAD is ioctl()d on.

Review not required by: freebsd-hackers
2000-01-24 20:39:02 +00:00
peter
6542b31f77 Add an example vpo module. I don't have a zip drive to test it, but it
behaves the normal way when loaded at runtime versus being statically
compiled.  (normal == print garbage on the printer :-).
2000-01-23 15:26:15 +00:00
n_hibma
e6184773ef Get rid of some debugging cruft. 2000-01-23 13:56:58 +00:00
brian
9c022a2fe0 Hmm, don't compile in INET6, IPX or NETATALK support for the
moment :-(  I think we need some sort of stub variable and a
``is this queue available'' flag.
2000-01-23 10:41:48 +00:00
bp
fc532071c9 Allow if_ef driver to be compiled into kernel. 2000-01-23 03:35:11 +00:00
brian
fb25843f9a Support INET6, NETATALK and IPX as well as INET. 2000-01-23 01:47:59 +00:00
yokota
3701b00fac Do not explicitly create empty option files; they are taken
care of by bsd.kmod.mk.

Pointed out by: bde
2000-01-20 13:25:18 +00:00
archie
8ece9a32c6 Work around aparent bug in the .Dv macro by eliminating some spaces.
The closing curly-brace in this line was being omitted somehow.
2000-01-17 20:10:39 +00:00
yokota
5db3ba7b9b This is the 3rd stage of syscons code reorganization.
- Split terminal emulation code from the main part of the driver so
that we can have alternative terminal emulator modules if we like in
the future.  (We are not quite there yet, though.)

- Put sysmouse related code in a separate file, thus, simplifying the
main part of the driver.

As some files are added to the source tree, you need to run config(8)
before you compile a new kernel next time.

You shouldn't see any functional change by this commit; this is only
internal code reorganization.
2000-01-15 15:25:43 +00:00
wpaul
4e7e0246b5 Grrr. Really add the module makefile for the Aironet driver. 2000-01-14 23:46:05 +00:00
wpaul
1e2a8041d0 Add driver support for the Aironet 4500/4800 series wireless 802.11
NICs. (Finally!) The PCMCIA, ISA and PCI varieties are all supported,
though only the ISA and PCI ones will work on the alpha for now.
PCCARD, ISA and PCI attachments are all provided. Also provided an
ancontrol(8) utility for configuring the NIC, man pages, and updated
pccard.conf.sample. ISA cards are supported in both ISA PnP and hard-wired
mode, although you must configure the kernel explicitly to support the
hardwired mode since you have to know the I/O address and port ahead
of time.

Special thanks to Doug Ambrisko for doing the initial newbus hackery
and getting it to work in infrastructure mode.
2000-01-14 20:41:03 +00:00
wpaul
25bfa75395 Add device driver support for USB ethernet adapters based on the CATC
USB-EL1202A chipset. Between this and the other two drivers, we should
have support for pretty much every USB ethernet adapter on the market.
The only other USB chip that I know of is the SMC USB97C196, and right
now I don't know of any adapters that use it (including the ones made
by SMC :/ ).

Note that the CATC chip supports a nifty feature: read and write combining.
This allows multiple ethernet packets to be transfered in a single USB
bulk in/out transaction. However I'm again having trouble with large
bulk in transfers like I did with the ADMtek chip, which leads me to
believe that our USB stack needs some work before we can really make
use of this feature. When/if things improve, I intend to revisit the
aue and cue drivers. For now, I've lost enough sanity points.
2000-01-14 03:14:49 +00:00
yokota
c861b7fc02 Add opt_ukbd.h. 2000-01-12 00:46:08 +00:00
wpaul
cf16a7efdb Attempt to fix a problem with receiving packets on USB ethernet interfaces.
Packets are received inside USB bulk transfer callbacks, which run at
splusb() (actually splbio()). The packet input queues are meant to be
manipulated at splimp(). However the locking apparently breaks down under
certain circumstances and the input queues can get trampled.

There's a similar problem with if_ppp, which is driven by hardware/tty
interrupts from the serial driver, but which must also manipulate the
packet input queues at splimp(). The fix there is to use a netisr, and
that's the fix I used here. (I can hear you groaning back there. Hush up.)

The usb_ethersubr module maintains a single queue of its own. When a
packet is received in the USB callback routine, it's placed on this
queue with usb_ether_input(). This routine also schedules a soft net
interrupt with schednetisr(). The ISR routine then runs later, at
splnet, outside of the USB callback/interrupt context, and passes the
packet to ether_input(), hopefully in a safe manner.

The reason this is implemented as a separate module is that there are
a limited number of NETISRs that we can use, and snarfing one up for
each driver that needs it is wasteful (there will be three once I get
the CATC driver done). It also reduces code duplication to a certain
small extent. Unfortunately, it also needs to be linked in with the
usb.ko module in order for the USB ethernet drivers to share it.

Also removed some uneeded includes from if_aue.c and if_kue.c

Fix suggested by: peter
Not rejected as a hairbrained idea by: n_hibma
2000-01-10 23:12:54 +00:00
phantom
8bf15d0ff0 . add manpage for svr4(8)
. s/freebsd/FreeBSD
2000-01-10 08:48:11 +00:00
bde
d42b1f1b39 Cleaned up options handling:
- don't generate unusable headers or #defines.
- removed duplicate opt_svr4.h in CLEANFILES.
- removed bogus dependency of svr4.h on options headers.
2000-01-09 13:11:19 +00:00
bde
661138e5c3 Compile svr4_genassym.c with ordinary ${CFLAGS}. The (small) need for
-U_KERNEL became negative when all all the genassym.c's were converted
to be cross-built.

Use "genassym ... > ${.TARGET}", not "genassym -o $@ ...", so that
genassym(1) doesn't need to support -o.

Removed duplicate -D_KERNEL from CFLAGS.

Removed triplicate -D_KERNEL from flags for compiling svr4_locore.s.
2000-01-09 10:16:12 +00:00
bde
6c0066fcac Compile linux_genassym.c with ordinary ${CFLAGS}. The (small) need for
-U_KERNEL became negative when all all the genassym.c's were converted
to be cross-built.

Use "genassym ... > ${.TARGET}", not "genassym -o $@ ...", so that
genassym(1) doesn't need to support -o.

Removed duplicate -D_KERNEL from flags for compiling linux_locore.s.
2000-01-09 10:04:53 +00:00
wpaul
a0156fbe84 Add device driver support for USB ethernet adapters based on the
Kawasaki LSI KL5KUSB101B chip, including the LinkSys USB10T, the
Entrega NET-USB-E45, the Peracom USB Ethernet Adapter, the 3Com
3c19250 and the ADS Technologies USB-10BT. This device is 10mbs
half-duplex only, so there's miibus or ifmedia support. This device
also requires firmware to be loaded into it, however KLSI allows
redistribution of the firmware images (I specifically asked about
this; they said it was ok).

Special thanks to Annelise Anderson for getting me in touch with
KLSI (eventually) and thanks to KLSI for providing the necessary
programming info.

Highlights:
- Add driver files to /sys/dev/usb
- update usbdevs and regenerate attendate files
- update usb_quirks.c
- Update HARDWARE.TXT and RELNOTES.TXT for i386 and alpha
- Update LINT, GENERIC and others for i386, alpha and pc98
- Add man page
- Add module
- Update sysinstall and userconfig.c
2000-01-05 04:27:24 +00:00
grog
6beb973de0 Remove non-functional 'all:' target.
Remove unused 'state.h' and 'maketabs' targets.
Fix white space style bugs.

Submitted-by:	bde

Sort module names in SRCS.

Suggested-by:	bde

Correct breakage committed in revision 1.16.
2000-01-04 23:46:41 +00:00
archie
309101aba3 Fix typos per PR 15649. Also did some rewording for clarity.
PR:		docs/15649
Submitted by:	Kazuo Horikawa <horikawa@jp.FreeBSD.org>
2000-01-03 18:36:42 +00:00
marcel
5ed0012e79 Remove -g compiler flag. 2000-01-03 12:01:30 +00:00
marcel
c9131e98dc o Add build-tools target for maketabs although it doesn't seem to
be used. I therefore won't add it to Makefile.inc1.
o  Remove -g compilation flags.
2000-01-03 11:57:14 +00:00
peter
d53e4c1d80 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
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
marcel
882af3f7d6 Use genassym(1) and <sys/assym.h> to generate assembler symbols. 1999-12-23 21:19:32 +00:00
marcel
95103d1312 Use genassym(1) and <sys/assym.h> to generate assembler symbols. 1999-12-23 19:59:47 +00:00
archie
f60ffeafee 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
443430016e Manual page style work.
Submitted by:	Alexey Zelkin <phantom@FreeBSD.org>
thanks!
1999-12-21 01:25:21 +00:00
imp
c6fae80569 i82365_isasubr is gone, remove from building module. 1999-12-19 05:49:56 +00:00
gallatin
250790f2f9 Enable building of the OSF/1 compat module. 1999-12-15 13:14:23 +00:00
gallatin
1b39d5d377 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
bp
908abcafb0 Add module for if_ef driver and make it compile. 1999-12-13 16:42:17 +00:00
cracauer
2f637bd745 Add a run of Linux ldconfig. 1999-12-13 08:38:22 +00:00
peter
cc5e8eb5f0 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
9345346f82 Zap unused CFLAGS += -DNCP 1999-12-12 21:15:51 +00:00