network interface cards smart (or twisted?) enough to be able
to calculate a TCP/UDP checksum for a packet fragmented by the
host CPU. Therefore the paragraph on the case has been revised.
- Sort MAN and MLINKS in "dictionary" order ignoring case.
- For multi-value MAN and multi-pair MLINKS, put each value/pair
on its own line, for easier sorting and so that further diffs
are easier to see.
to the nice style used in ifnet(9).
This includes specifying field types, starting descriptions
with a capital letter, and ending them with a full stop.
Improve the language a bit, as well.
GCC 3.3 -O2 produces correct code on Alpha. However, note that FreeBSD
has alias bugs that make -O2 produce bad code on all(most?) platforms.
Also don't tell people we don't want -O2 related bug reports, we do -- if
they contain patches.
missing and there are multiple choices using multiple inference
(suffix transformation) rules.
This is known to fix compilation of s_log1p.o in lib/msun on i386,
as otherwise it attempted to use s_log1p.S as the source (which is
marked broken) instead of legal s_log1p.c which is in CFLAGS. The
normal case where .depend file exists is not affected.
Reviewed by: bde
no cryptodev module.) Should probably create a separate cryptodev man
page (or a link to this one) but for now add enough so folks understand
the relationship between the two.
Prodded by: phk
just libc functions wrappers), and updated text to match reality:
there are three threading libraries in FreeBSD these days.
Removed instructions of how not to build libc_r, it's documented in
the make.conf(5) manpage already.
Removed description of the FreeBSD-specific gcc(1) option, -pthread.
While it's still provided (for backwards compatibility reasons),
its usefulness is questionable.
needed for generating dependencies. SRCS are always part of it,
and normally only they.
This can be useful in some random cases where it's necessary to
have something in .depend that isn't part of SRCS. This will be
used to replace a hack in lib/libpam/libpam/Makefile.
form became unnecessary with the bsd.prog.mk,v 1.69 change.
- Eliminated duplicate y.tab.h in SRCS.
Reviewed by: bde
- Complementary to the said bsd.prog.mk change, use the fact
that inner .for loops are not real loops but a tricky form
of a local macro for the outer loop's variable, and switch
to using faster variable modifiers to replace extensions.
kernel BOOTP options is *not* required if the boot loader can pass
network configuration information to the kernel using the kernel
environment. As such, PXE doesn't require them. However, the NFS
options are required in the kernel (previously not documented).
Tripped over by: des
Rearrange the order of the initial description to correspond with the
detailed description below.
Reinstate reference to Topsy, at the risk of confusing people whose
understanding of English grammar is better than of American folklore.
- A #include of <sys/mutex.h> is no longer needed to use sx(9) (since
2001/05/01).
- Use of the SX_SYSINIT() macro requires inclusion of '<sys/kernel.h>'
Yes, it's what you think it is. Yes, you should run away now.
This is a special compatibility module for allowing Windows NDIS
miniport network drivers to be used with FreeBSD/x86. This provides
_binary_ NDIS compatibility (not source): you can run NDIS driver
code, but you can't build it. There are three main parts:
sys/compat/ndis: the NDIS compat API, which provides binary
compatibility functions for many routines in NDIS.SYS, HAL.dll
and ntoskrnl.exe in Windows (these are the three modules that
most NDIS miniport drivers use). The compat module also contains
a small PE relocator/dynalinker which relocates the Windows .SYS
image and then patches in our native routines.
sys/dev/if_ndis: the if_ndis driver wrapper. This module makes
use of the ndis compat API and can be compiled with a specially
prepared binary image file (ndis_driver_data.h) containing the
Windows .SYS image and registry key information parsed out of the
accompanying .INF file. Once if_ndis.ko is built, it can be loaded
and unloaded just like a native FreeBSD kenrel module.
usr.sbin/ndiscvt: a special utility that converts foo.sys and foo.inf
into an ndis_driver_data.h file that can be compiled into if_ndis.o.
Contains an .inf file parser graciously provided by Matt Dodd (and
mercilessly hacked upon by me) that strips out device ID info and
registry key info from a .INF file and packages it up with a binary
image array. The ndiscvt(8) utility also does some manipulation of
the segments within the .sys file to make life easier for the kernel
loader. (Doing the manipulation here saves the kernel code from having
to move things around later, which would waste memory.)
ndiscvt is only built for the i386 arch. Only files.i386 has been
updated, and none of this is turned on in GENERIC. It should probably
work on pc98. I have no idea about amd64 or ia64 at this point.
This is still a work in progress. I estimate it's about %85 done, but
I want it under CVS control so I can track subsequent changes. It has
been tested with exactly three drivers: the LinkSys LNE100TX v4 driver
(Lne100v4.sys), the sample Intel 82559 driver from the Windows DDK
(e100bex.sys) and the Broadcom BCM43xx wireless driver (bcmwl5.sys). It
still needs to have a net80211 stuff added to it. To use it, you would
do something like this:
# cd /sys/modules/ndis
# make; make load
# cd /sys/modules/if_ndis
# ndiscvt -i /path/to/foo.inf -s /path/to/foo.sys -o ndis_driver_data.h
# make; make load
# sysctl -a | grep ndis
All registry keys are mapped to sysctl nodes. Sometimes drivers refer
to registry keys that aren't mentioned in foo.inf. If this happens,
the NDIS API module creates sysctl nodes for these keys on the fly so
you can tweak them.
An example usage of the Broadcom wireless driver would be:
# sysctl hw.ndis0.EnableAutoConnect=1
# sysctl hw.ndis0.SSID="MY_SSID"
# sysctl hw.ndis0.NetworkType=0 (0 for bss, 1 for adhoc)
# ifconfig ndis0 <my ipaddr> netmask 0xffffff00 up
Things to be done:
- get rid of debug messages
- add in ndis80211 support
- defer transmissions until after a status update with
NDIS_STATUS_CONNECTED occurs
- Create smarter lookaside list support
- Split off if_ndis_pci.c and if_ndis_pccard.c attachments
- Make sure PCMCIA support works
- Fix ndiscvt to properly parse PCMCIA device IDs from INF files
- write ndisapi.9 man page
as these ioctl's aren't MD. This also means they are installed in
/usr/include/dev/bktr now. Also provide compatability wrappers for
where these headers lived in 4.x.
man4.i386. It documents that meteor no longer works, but keeps the
extensive documentation on the meteor interface, which the bktr driver
implements also. This should be merged into tha man page, but such a
merging seems to be planned by others.
# we really need something like video4bsd to define these sorts of
# things for all video capture drivers.
Requested by: rwatson and obrien
note that says that this man page is sub-optimal. Bruce Mah should be
happier about this, but someone that groks the cards supported by the
digi driver is encouraged to make this man page suck less.