the device and since we count from zero its equal to the number of sectors
and thus one higher than the last sector.
This fixes the read/write problems on the (raw) device where the last
sector was not readable/writable.
macros, __BIT, __BITS, SHIFTIN, SHIFTOUT, and __arraycount() from
lib/libkern/libkern.h to sys/cdefs.h. Add a __-prefix to SHIFTIN
and SHIFTOUT, and add a manual page for the bit-twiddling macros,
bits(3).
Make the __BIT and __BITS macros "widthless," as best I can, by
changing their type to uintmax_t from uint32_t. XXX The manual
page lags this change by a bit.
Define __PRIxBIT and __PRIxBITS printf(3) format strings.
Fix MOBILE encapsulation. Add many debugging printfs (mainly
concerning UDP mode). Clean up the gre(4) code a bit. Add the
capability to setup UDP tunnels to ifconfig. Update documentation.
In UDP mode, gre(4) puts a GRE header onto transmitted packets,
and hands them to a UDP socket for transmission. That is, the
encapsulation looks like this: IP+UDP+GRE+encapsulated packet.
There are two ways to set up a UDP tunnel. One way is to tell the
source and destination IP+port to gre(4), and let gre(4) create
the socket. The other way to create a UDP tunnel is for userland
to "delegate" a UDP socket to the kernel.
behind custom PCI<->GIO bridges:
- Set Engineering GIO Fast Ethernet (TI ThunderLAN)
- Phobos G100 (DEC 21140?)
- Phobos G130 (DEC 21143)
- Phobos G160 (DEC 21143)
All boards present the chipsets' pci configuration registers at some
defined offset in their slots' address space as well as device registers.
We simply allow the MI pci subsystem to attach the devices.
This has been tested with a G130 board (DEC 21143) and works well on IP20
and IP24. The Set Engineering board attaches, works fine when receiving and
lightly transmitting, but chokes for unknown reasons on heavy transmits.
The tl(4) driver may need some fixing.
gio bus arbiter parameters via imc(4) or pic(4).
Slots are identified by name: GIO_SLOT_GFX, GIO_SLOT_EXP1, GIO_SLOT_EXP2.
Provide some helper functions for establishing interrupts associated with
each slot and obtaining product descriptions.
configuration. These are to be used exclusively by a higher interface in
gio/gio.c.
Also add functions to enable, disable and query the state of SysAd bus
parity detection since certain gio(4) cards need to be able to disable
it in order to work around their own buggy implementations.