C4B patchset for 6.0-Release, -stable?
Stefan Bethke
stb at lassitu.de
Wed Nov 9 04:19:32 PST 2005
Hi,
has anyone produced a patchset for 6-stable yet? My own (mechanical)
attempt did not immediately succeed. I used the 1.0 release and went
through the make-patches.sh as prescribed in the README in c4b/
patches/FreeBSD-Current. make buildworld fails:
===> avmaic (depend)
@ -> /usr/src/sys
machine -> /usr/src/sys/i386/include
ln -s /usr/obj/usr/src/sys/ASTERIX/opt_avmaic.h opt_avmaic.h
awk -f @/tools/makeobjops.awk @/kern/device_if.m -h
awk -f @/tools/makeobjops.awk @/kern/bus_if.m -h
awk -f @/tools/makeobjops.awk @/isa/isa_if.m -h
awk -f @/tools/makeobjops.awk @/dev/pci/pci_if.m -h
awk -f @/tools/makeobjops.awk @/dev/pccard/card_if.m -h
awk -f @/tools/pccarddevs2h.awk @/dev/pccard/pccarddevs
rm -f .depend
mkdep -f .depend -a -nostdinc -I/usr/src/sys/modules/avmaic/../../
c4b/include -D_KERNEL -DKLD_MODULE -I- -I/usr/src/sys/modules/
avmaic/../../c4b/include -DHAVE_KERNEL_OPTION_HEADERS -I. -I@ -I@/
contrib/altq -I@/../include -I/usr/include -I/usr/obj/usr/src/sys/
ASTERIX /usr/src/sys/modules/avmaic/../../c4b/driver/avmaic/avmaic.c /
usr/src/sys/modules/avmaic/../../c4b/driver/avmaic/avmaic_misc.c /usr/
src/sys/modules/avmaic/../../c4b/driver/avmaic/avmb1.c /usr/src/sys/
modules/avmaic/../../c4b/driver/avmaic/avmt1.c /usr/src/sys/modules/
avmaic/../../c4b/driver/avmaic/avmio.c /usr/src/sys/modules/
avmaic/../../c4b/driver/avmaic/avmdma.c /usr/src/sys/modules/
avmaic/../../c4b/driver/avmaic/avmarm.c
/usr/src/sys/modules/avmaic/../../c4b/driver/avmaic/avmaic.c:129:38:
macro "PCMCIA_CARD_D" passed 3 arguments, but takes just 2
mkdep: compile failed
*** Error code 1
And what of the plans to get the work committed?
Thanks,
Stefan
p.s. here's the patches make-patches.sh generated:
--- etc/defaults/rc.conf.org.c4b Sat Oct 8 05:32:53 2005
+++ etc/defaults/rc.conf Tue Nov 8 16:16:22 2005
@@ -301,6 +301,12 @@
atm_pvcs="" # Set to PVC list (or leave empty).
atm_arps="" # Set to permanent ARP list (or leave
empty).
+### CAPI subsystem options: ###
+capi_enable="NO" # Enable the CAPI subsystem (YES or
NO).
+avmaic_enable="NO" # Enable loading active AVM board
firmware.
+daic_enable="NO" # Enable loading active Diehl board
firmware.
+ix1a_enable="NO" # Enable loading active IX1 board
firmware.
+
### ISDN interface options: (see also: /usr/share/examples/isdn) ###
isdn_enable="NO" # Enable the ISDN subsystem (or NO).
isdn_fsdev="NO" # Output device for fullscreen
mode (or NO for daemon mode).
--- etc/mtree/BSD.usr.dist.org.c4b Fri Mar 4 15:24:30 2005
+++ etc/mtree/BSD.usr.dist Tue Nov 8 16:17:04 2005
@@ -56,6 +56,14 @@
ru_RU.KOI8-R
..
..
+ capi
+ avmaic
+ ..
+ daic
+ ..
+ ix1a
+ ..
+ ..
dict
..
doc
--- etc/rc.d/Makefile.org.c4b Sat Oct 8 05:32:53 2005
+++ etc/rc.d/Makefile Tue Nov 8 16:17:45 2005
@@ -39,6 +39,7 @@
watchdogd wpa_supplicant \
ypbind yppasswdd ypserv \
ypset ypupdated ypxfrd
+FILES+= capibase avmaic daic ix1a i4bcapimgr
FILESDIR= /etc/rc.d
FILESMODE= ${BINMODE}
--- include/Makefile.org.c4b Tue Nov 8 15:48:27 2005
+++ include/Makefile Tue Nov 8 15:52:09 2005
@@ -28,6 +28,10 @@
# posix4/mqueue.h is useless without an implementation and isn't
installed:
PHDRS= sched.h semaphore.h _semaphore.h # mqueue.h
+CAPIHDRS= capi_bsd.h capi_bsdtrc.h capi_echoc.h capi_li.h \
+ capi_pack_off.h capi_pack_on.h capi_result.h \
+ capi_supplsvc.h capi20.h capidef.h
+
LHDRS= aio.h errno.h fcntl.h linker_set.h poll.h stdint.h syslog.h \
termios.h ucontext.h
@@ -127,6 +131,9 @@
done
.endif
.endfor
+ cd ${.CURDIR}/../sys/c4b/include; \
+ ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 ${CAPIHDRS} \
+ ${DESTDIR}${INCLUDEDIR}
.for i in ${LDIRS} ${LSUBDIRS:Ndev/acpica:Ndev/bktr} ${LSUBSUBDIRS}
cd ${.CURDIR}/../sys; \
${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 $i/*.h \
@@ -180,6 +187,10 @@
symlinks:
@${ECHO} "Setting up symlinks to kernel source tree..."
+ cd ${.CURDIR}/../sys/c4b/include; \
+ for h in ${CAPIHDRS}; do \
+ ln -fs ../../sys/c4b/include/$$h ${DESTDIR}${INCLUDEDIR}; \
+ done
.for i in ${LDIRS}
cd ${.CURDIR}/../sys/$i; \
for h in *.h; do \
--- lib/Makefile.org.c4b Thu Jul 28 15:47:18 2005
+++ lib/Makefile Tue Nov 8 15:55:06 2005
@@ -26,7 +26,7 @@
libnetgraph libradius librpcsvc libsbuf libtacplus libutil \
${_libypclnt} libalias libarchive ${_libatm} \
libbegemot ${_libbluetooth} libbsnmp libbz2 libc ${_libc_r} \
- libcalendar libcam libcompat libdevinfo libdevstat ${_libdisk} \
+ libcalendar libcam ${_libcapi20} libcompat libdevinfo
libdevstat ${_libdisk} \
libedit libexpat libfetch libform libftpio libgeom $
{_libgpib} \
${_libio} libipsec \
libipx libkiconv libmagic libmemstat libmenu ${_libmilter} $
{_libmp} \
@@ -55,6 +55,10 @@
.if !defined(NO_BLUETOOTH)
_libbluetooth= libbluetooth
_libsdp= libsdp
+.endif
+
+.if !defined(NO_CAPI)
+_libcapi20= libcapi20
.endif
.if ${MACHINE_ARCH} == "i386"
--- share/Makefile.org.c4b Wed Apr 13 12:02:58 2005
+++ share/Makefile Tue Nov 8 16:16:18 2005
@@ -4,6 +4,7 @@
# Do not include `info' in the SUBDIR list, it is handled separately.
SUBDIR= colldef \
+ ${_capi} \
${_dict} \
${_doc} \
examples \
@@ -24,6 +25,10 @@
termcap \
timedef \
zoneinfo
+
+.if !defined(NO_C4B)
+_capi= capi
+.endif
.if !defined(NO_I4B)
_isdn= isdn
--- share/examples/etc/make.conf.org.c4b Fri Nov 4 19:06:23 2005
+++ share/examples/etc/make.conf Tue Nov 8 16:16:22 2005
@@ -101,6 +101,7 @@
#NO_ATM= # do not build ATM related programs and libraries
#NO_AUTHPF= # do not build and install authpf (setuid/gid)
#NO_BLUETOOTH= # do not build Bluetooth related stuff
+#NO_C4B= true # do not build CAPI support package
#NO_BOOT= # do not build boot blocks and loader
#NO_CRYPT= # do not build any crypto code
#NO_CVS= # do not build CVS
--- share/man/man5/make.conf.5.org.c4b Fri Jul 8 21:26:55 2005
+++ share/man/man5/make.conf.5 Tue Nov 8 16:16:22 2005
@@ -429,6 +429,9 @@
.It Va NO_BOOT
.Pq Vt bool
Set to not build the boot blocks and loader.
+.It Va NO_C4B
+.Pq Vt bool
+Set to not build CAPI package.
.It Va NO_CVS
.Pq Vt bool
Set to not build CVS.
--- share/man/man7/hier.7.org.c4b Fri Jan 21 21:50:39 2005
+++ share/man/man7/hier.7 Tue Nov 8 16:16:22 2005
@@ -465,6 +465,22 @@
a variety of pre-fab calendar files;
see
.Xr calendar 1
+.It Pa capi/
+firmware files and other stuff for CAPI manager controller drivers;
for a
+general overview of the CAPI implementation for BSD see
+.Xr c4b 4
+.Pp
+.Bl -tag -width Fl -compat
+.It Pa avmaic/
+firmware files for AVM active ISDN boards; see
+.Xr avmaic 4 ,
+.Xr avmaicctl 8
+.It Pa daic/
+firmware files for legacy Diehl (now Eicon) active ISDN boards; see
+.Xr daic 4 ,
+.Xr daicctl 8
+.El
+.Pp
.It Pa dict/
word lists;
see
--- share/mk/bsd.libnames.mk.org.c4b Sun Jul 24 18:17:25 2005
+++ share/mk/bsd.libnames.mk Tue Nov 8 16:16:22 2005
@@ -28,6 +28,7 @@
LIBC_R?= ${DESTDIR}${LIBDIR}/libc_r.a
LIBCALENDAR?= ${DESTDIR}${LIBDIR}/libcalendar.a
LIBCAM?= ${DESTDIR}${LIBDIR}/libcam.a
+LIBCAPI20?= ${DESTDIR}${LIBDIR}/libcapi20.a
LIBCOM_ERR?= ${DESTDIR}${LIBDIR}/libcom_err.a
LIBCOMPAT?= ${DESTDIR}${LIBDIR}/libcompat.a
LIBCRYPT?= ${DESTDIR}${LIBDIR}/libcrypt.a
--- sys/amd64/conf/NOTES.org.c4b Fri Oct 7 16:00:03 2005
+++ sys/amd64/conf/NOTES Tue Nov 8 16:05:17 2005
@@ -338,6 +338,151 @@
# I2C Bus
#
+
+#
+# CAPI manager driver for the AVM active ISDN adapters (B1, C2, C4, T1)
+#
+# The CAPI manager module "kcapimgr" is also needed when this device
is entered
+# into a kernel configuration file.
+#
+# Note: Compiling this module as a separate module (i.e. not
directly into the
+# kernel) is preferred. So it is better to comment out the
following
+# device line.
+#
+# Supported flags:
+# 0x00 (or no flags) AVM-B1 ISA
+# 0x10 - 0x13 AVM-T1 ISA with board number 0 - 3 (low
nibble of
+# flags)
+#
+# Supported options:
+# AVMAIC_LOG_LEVEL initializes the log level for the
driver
+# AVMAIC_MAX_APPLICATIONS specifies the maximum no. supported
+# simultaneously registered applications,
+# default is 30
+# AVMAIC_MAX_NCCI_PER_CHANNEL
+# specifies the maximum no. possible B3
+# connections per channel and
application,
+# default is 4
+#
+device avmaic
+# AVM-B1 ISA
+hint.avmaic.0.at="isa"
+hint.avmaic.0.port="0x150"
+hint.avmaic.0.irq="5"
+
+#
+# CAPI manager driver for the legacy Diehl active ISDN adapters (S,
SX, SXn,
+# SCOM, Quadro, S2m)
+#
+# The CAPI manager module "kcapimgr" is also needed when this device
is entered
+# into a kernel configuration file.
+#
+# Note: Compiling this module as a separate module (i.e. not
directly into the
+# kernel) is preferred. So it is better to comment out the
following
+# device line.
+#
+# Note2: The code for the S2m board is currently not implemented.
+#
+# Supported options:
+# DAIC_LOG_LEVEL initializes the log level for the driver
+# DAIC_MAX_APPLICATIONS specifies the maximum no. supported
+# simultaneously registered applications,
+# default is 30
+# DAIC_MAX_NCCI_PER_PLCI specifies the maximum no. supported
NCCIs per
+# PLCI (useful for ISO 8208 B3-protocol),
+# default is 4
+# DAIC_MAX_NCCI_PER_PORT specifies the overall maximum no.
supported
+# NCCIs per port of a board, default is
128
+# DAIC_MAX_PLCI_PER_PORT specifies the overall maximum no.
supported
+# PLCIs per port of a board, default is 64
+#
+# For more information about the effect of these driver options see
the manual
+# page daic(4).
+#
+device daic
+# Diehl S, SX, SXn, SCOM (specifying the memory size is optional)
+hint.daic.0.at="isa"
+hint.daic.0.maddr="0xD0000"
+hint.daic.0.msize="0x800"
+hint.daic.0.irq="10"
+# Diehl Quattro (specifying the memory size is optional)
+hint.daic.0.at="isa"
+hint.daic.0.maddr="0xD0000"
+hint.daic.0.msize="0x2000"
+hint.daic.0.irq="10"
+# Diehl S2m (specifying the memory size is optional)
+hint.daic.0.at="isa"
+hint.daic.0.maddr="0xD0000"
+hint.daic.0.msize="0x4000"
+hint.daic.0.irq="10"
+
+#
+# CAPI manager driver for the IX1 active ISDN adapters
+#
+# These ISDN boards were originally manufactured by ITK, Germany,
that is now
+# part of Digi International. The boards were also sold under the
name Digi
+# Datafire. See ix1a(4) for further information.
+#
+# The CAPI manager module "kcapimgr" is also needed when this device
is entered
+# into a kernel configuration file.
+#
+# Note: Compiling this module as a separate module (i.e. not
directly into the
+# kernel) is preferred. So it is better to comment out the
following
+# device line.
+#
+# Supported flags (see ix1a(4) for detailed information):
+# 0x00 - 0x03 IX1 Basic ISA, card types 1-4
+# 0x10 - 0x13 IX1 Octo ISA, card types 1-4
+# 0x20 - 0x27 IX1 Multimodem ISA, card types 1-8
+#
+# Supported options:
+# IX1A_LOG_LEVEL initializes the log level for the
driver
+#
+device ix1a
+# IX1 Basic ISA, card number 1
+hint.ix1a.0.at="isa"
+hint.ix1a.0.port="0x380"
+hint.ix1a.0.irq="5"
+hint.ix1a.0.flags="0x00"
+# IX1 Octo ISA, card number 2
+hint.ix1a.0.at="isa"
+hint.ix1a.0.port="0x380"
+hint.ix1a.0.irq="5"
+hint.ix1a.0.flags="0x11"
+# IX1 Multimodem ISA, card number 8
+hint.ix1a.0.at="isa"
+hint.ix1a.0.port="0x380"
+hint.ix1a.0.irq="5"
+hint.ix1a.0.flags="0x27"
+
+#
+# i4b driver to support CAPI controllers
+#
+# The CAPI manager module "kcapimgr" is also needed when this device
is entered
+# into a kernel configuration file.
+#
+# Note: Compiling this module as a separate module (i.e. not
directly into the
+# kernel) is preferred. So it is better to comment out the
following
+# device line.
+#
+# Supported options:
+# I4BCAPIMGR_LOG_LEVEL initializes the log level for
i4bcapimgr,
+# integer value
+# I4BCAPIMGR_ALLOC_MAX_BDATA_SIZE
+# Normally incoming data blocks are
forwarded to
+# the layer 4 drivers just as they
are. But there
+# are situations (activated VJ
compression and
+# uncompression is performed in the
received
+# mbuf) where it is assumed that the
received
+# mbuf is allocated with the maximum
size of 2kB.
+# If this option is set, all incoming
data blocks
+# are copied into new mbufs of maximum
size, thus
+# wasting memory and computing time.
+#
+#device "i4bcapimgr"
+
+#
+
#
# Hardware watchdog timers:
#
--- sys/conf/files.org.c4b Sun Nov 6 00:55:55 2005
+++ sys/conf/files Tue Nov 8 16:01:34 2005
@@ -81,6 +81,17 @@
no-obj no-implicit-rule before-
depend \
clean "usbdevs_data.h"
cam/cam.c optional scbus
+#
+# the CAPI manager with the kernel CAPI interface for drivers and
applications
+#
+c4b/kcapimgr/kcapimgr.c optional kcapimgr
+c4b/kcapimgr/kcapi_appl.c optional kcapimgr
+c4b/kcapimgr/kcapi_ctlr.c optional kcapimgr
+c4b/kcapimgr/kcapi_trace.c optional kcapimgr
+#
+# the CAPI device for CAPI support for user space applications
+#
+c4b/capidev/capidev.c optional capidev
cam/cam_periph.c optional scbus
cam/cam_queue.c optional scbus
cam/cam_sim.c optional scbus
--- sys/conf/options.org.c4b Fri Oct 7 16:00:03 2005
+++ sys/conf/options Tue Nov 8 16:05:16 2005
@@ -61,6 +61,15 @@
NO_ADAPTIVE_MUTEXES opt_adaptive_mutexes.h
ALQ
CODA_COMPAT_5 opt_coda.h
+
+#
+# options for the CAPI manager
+#
+KCAPIMGR_LOG_LEVEL opt_kcapimgr.h
+#
+# options for the CAPI device to user land
+#
+CAPIDEV_LOG_LEVEL opt_capidev.h
COMPAT_43 opt_compat.h
COMPAT_FREEBSD4 opt_compat.h
COMPAT_FREEBSD5 opt_compat.h
--- sys/conf/files.i386.org.c4b Tue Aug 30 16:56:02 2005
+++ sys/conf/files.i386 Tue Nov 8 16:05:16 2005
@@ -354,6 +354,44 @@
warning "COMPAT_SVR4 is broken and should be avoided"
i386/svr4/svr4_machdep.c optional compat_svr4
#
+# the CAPI manager driver for AVM active ISDN controllers
+#
+c4b/driver/avmaic/avmaic.c optional avmaic
+c4b/driver/avmaic/avmaic_misc.c optional avmaic
+c4b/driver/avmaic/avmb1.c optional avmaic
+c4b/driver/avmaic/avmarm.c optional avmaic
+c4b/driver/avmaic/avmdma.c optional avmaic
+c4b/driver/avmaic/avmio.c optional avmaic
+c4b/driver/avmaic/avmt1.c optional avmaic
+#
+# the CAPI manager driver for legacy Diehl active ISDN controllers
+#
+c4b/driver/daic/daic.c optional daic
+c4b/driver/daic/daic_bootstrap.c optional daic
+c4b/driver/daic/daic_dispatch.c optional daic
+c4b/driver/daic/daic_globalid.c optional daic
+c4b/driver/daic/daic_hw.c optional daic
+c4b/driver/daic/daic_misc.c optional daic
+c4b/driver/daic/daic_ncci.c optional daic
+c4b/driver/daic/daic_plci.c optional daic
+#
+# the CAPI manager driver for IX1 active ISDN controllers (ITK, Digi
Datafire)
+#
+c4b/driver/ix1a/ix1a.c optional ix1a
+c4b/driver/ix1a/ix1a_bpci.c optional ix1a
+c4b/driver/ix1a/ix1a_isa.c optional ix1a
+c4b/driver/ix1a/ix1a_misc.c optional ix1a
+c4b/driver/ix1a/ix1a_ppci.c optional ix1a
+c4b/driver/ix1a/ix1a_shm.c optional ix1a
+#
+# i4b driver to support CAPIMGR controllers
+#
+i4b/i4bcapimgr/i4bcapimgr.c optional i4bcapimgr
+i4b/i4bcapimgr/i4bcmgr_l4if.c optional i4bcapimgr
+i4b/i4bcapimgr/i4bcmgr_plcism.c optional i4bcapimgr
+i4b/i4bcapimgr/i4bcmgr_nccism.c optional i4bcapimgr
+i4b/i4bcapimgr/i4bcmgr_capiutil.c optional i4bcapimgr
+#
# isdn4bsd, needed for isic | iwic | ifpi | ifpi2 | ihfc | ifpnp | itjc
#
i4b/layer1/i4b_hdlc.c optional itjc
--- sys/conf/options.i386.org.c4b Sat Jul 2 22:06:42 2005
+++ sys/conf/options.i386 Tue Nov 8 16:05:17 2005
@@ -116,6 +116,31 @@
# Video spigot
SPIGOT_UNSECURE opt_spigot.h
+#
+# options for the CAPI driver for AVM active ISDN controllers
+#
+AVMAIC_LOG_LEVEL opt_avmaic.h
+AVMAIC_MAX_APPLICATIONS opt_avmaic.h
+AVMAIC_MAX_NCCI_PER_CHANNEL opt_avmaic.h
+#
+# options for the CAPI driver for legacy Diehl active ISDN controllers
+#
+DAIC_LOG_LEVEL opt_daic.h
+DAIC_MAX_APPLICATIONS opt_daic.h
+DAIC_MAX_NCCI_PER_PLCI opt_daic.h
+DAIC_MAX_NCCI_PER_PORT opt_daic.h
+DAIC_MAX_PLCI_PER_PORT opt_daic.h
+#
+# options for the CAPI driver for IX1 active ISDN controllers
+#
+IX1A_LOG_LEVEL opt_ix1a.h
+
+#
+# options for the i4b driver to support CAPIMGR controllers
+#
+I4BCAPIMGR_LOG_LEVEL opt_i4bcapimgr.h
+I4BCAPIMGR_ALLOC_MAX_BDATA_SIZE opt_i4bcapimgr.h
+
# Enables NETGRAPH support for Cronyx adapters
NETGRAPH_CRONYX opt_ng_cronyx.h
--- sys/conf/files.amd64.org.c4b Thu Oct 6 22:43:44 2005
+++ sys/conf/files.amd64 Tue Nov 8 16:05:17 2005
@@ -229,6 +229,44 @@
compat/linux/linux_uid16.c optional compat_linux32
compat/linux/linux_util.c optional compat_linux32
#
+# the CAPI manager driver for AVM active ISDN controllers
+#
+c4b/driver/avmaic/avmaic.c optional avmaic
+c4b/driver/avmaic/avmaic_misc.c optional avmaic
+c4b/driver/avmaic/avmb1.c optional avmaic
+c4b/driver/avmaic/avmarm.c optional avmaic
+c4b/driver/avmaic/avmdma.c optional avmaic
+c4b/driver/avmaic/avmio.c optional avmaic
+c4b/driver/avmaic/avmt1.c optional avmaic
+#
+# the CAPI manager driver for legacy Diehl active ISDN controllers
+#
+c4b/driver/daic/daic.c optional daic
+c4b/driver/daic/daic_bootstrap.c optional daic
+c4b/driver/daic/daic_dispatch.c optional daic
+c4b/driver/daic/daic_globalid.c optional daic
+c4b/driver/daic/daic_hw.c optional daic
+c4b/driver/daic/daic_misc.c optional daic
+c4b/driver/daic/daic_ncci.c optional daic
+c4b/driver/daic/daic_plci.c optional daic
+#
+# the CAPI manager driver for IX1 active ISDN controllers (ITK, Digi
Datafire)
+#
+c4b/driver/ix1a/ix1a.c optional ix1a
+c4b/driver/ix1a/ix1a_bpci.c optional ix1a
+c4b/driver/ix1a/ix1a_isa.c optional ix1a
+c4b/driver/ix1a/ix1a_misc.c optional ix1a
+c4b/driver/ix1a/ix1a_ppci.c optional ix1a
+c4b/driver/ix1a/ix1a_shm.c optional ix1a
+#
+# i4b driver to support CAPIMGR controllers
+#
+#XXX#i4b/i4bcapimgr/i4bcapimgr.c optional i4bcapimgr
+#XXX#i4b/i4bcapimgr/i4bcmgr_l4if.c optional i4bcapimgr
+#XXX#i4b/i4bcapimgr/i4bcmgr_plcism.c optional i4bcapimgr
+#XXX#i4b/i4bcapimgr/i4bcmgr_nccism.c optional i4bcapimgr
+#XXX#i4b/i4bcapimgr/i4bcmgr_capiutil.c optional i4bcapimgr
+#
# Windows NDIS driver support
#
compat/ndis/kern_ndis.c optional ndisapi pci
--- sys/conf/options.amd64.org.c4b Thu Jun 30 01:23:16 2005
+++ sys/conf/options.amd64 Tue Nov 8 16:05:17 2005
@@ -32,6 +32,31 @@
ATKBD_DFLT_KEYMAP opt_atkbd.h
+#
+# options for the CAPI driver for AVM active ISDN controllers
+#
+AVMAIC_LOG_LEVEL opt_avmaic.h
+AVMAIC_MAX_APPLICATIONS opt_avmaic.h
+AVMAIC_MAX_NCCI_PER_CHANNEL opt_avmaic.h
+#
+# options for the CAPI driver for legacy Diehl active ISDN controllers
+#
+DAIC_LOG_LEVEL opt_daic.h
+DAIC_MAX_APPLICATIONS opt_daic.h
+DAIC_MAX_NCCI_PER_PLCI opt_daic.h
+DAIC_MAX_NCCI_PER_PORT opt_daic.h
+DAIC_MAX_PLCI_PER_PORT opt_daic.h
+#
+# options for the CAPI driver for IX1 active ISDN controllers
+#
+IX1A_LOG_LEVEL opt_ix1a.h
+
+#
+# options for the i4b driver to support CAPIMGR controllers
+#
+I4BCAPIMGR_LOG_LEVEL opt_i4bcapimgr.h
+I4BCAPIMGR_ALLOC_MAX_BDATA_SIZE opt_i4bcapimgr.h
+
# -------------------------------
# isdn4bsd: passive PCI cards
# -------------------------------
--- sys/conf/NOTES.org.c4b Fri Oct 28 21:02:22 2005
+++ sys/conf/NOTES Tue Nov 8 16:05:17 2005
@@ -2521,6 +2521,22 @@
#
options NSWBUF_MIN=120
+#
+# kernel and user space CAPI support
+#
+# Note: Compiling these two modules as separate modules (i.e. not
directly into
+# the kernel) is preferred. So it is better to comment out the
following
+# two lines.
+#
+# supported options:
+# KCAPIMGR_LOG_LEVEL initializes the log level for the
CAPI manager,
+# integer value
+# CAPIDEV_LOG_LEVEL initialize the log level for the
CAPI device to
+# user space applications, integer value
+#
+device "kcapimgr"
+device "capidev"
+
#####################################################################
# More undocumented options for linting.
--- sys/conf/kern.pre.mk.org.c4b Mon Nov 7 10:55:47 2005
+++ sys/conf/kern.pre.mk Tue Nov 8 16:05:17 2005
@@ -55,6 +55,10 @@
# ... and the same for ipfilter
INCLUDES+= -I$S/contrib/ipfilter
+# This lets us use the same CAPI header files under /usr/include and
within the
+# kernel in the directory /sys/c4b/include.
+INCLUDES+= -I$S/c4b/include
+
# ... and the same for pf
INCLUDES+= -I$S/contrib/pf
--- sys/i386/conf/NOTES.org.c4b Fri Oct 7 16:00:05 2005
+++ sys/i386/conf/NOTES Tue Nov 8 16:05:17 2005
@@ -723,6 +723,148 @@
hint.pcf.0.irq="5"
#
+# CAPI manager driver for the AVM active ISDN adapters (B1, C2, C4, T1)
+#
+# The CAPI manager module "kcapimgr" is also needed when this device
is entered
+# into a kernel configuration file.
+#
+# Note: Compiling this module as a separate module (i.e. not
directly into the
+# kernel) is preferred. So it is better to comment out the
following
+# device line.
+#
+# Supported flags:
+# 0x00 (or no flags) AVM-B1 ISA
+# 0x10 - 0x13 AVM-T1 ISA with board number 0 - 3 (low
nibble of
+# flags)
+#
+# Supported options:
+# AVMAIC_LOG_LEVEL initializes the log level for the
driver
+# AVMAIC_MAX_APPLICATIONS specifies the maximum no. supported
+# simultaneously registered applications,
+# default is 30
+# AVMAIC_MAX_NCCI_PER_CHANNEL
+# specifies the maximum no. possible B3
+# connections per channel and
application,
+# default is 4
+#
+device avmaic
+# AVM-B1 ISA
+hint.avmaic.0.at="isa"
+hint.avmaic.0.port="0x150"
+hint.avmaic.0.irq="5"
+
+#
+# CAPI manager driver for the legacy Diehl active ISDN adapters (S,
SX, SXn,
+# SCOM, Quadro, S2m)
+#
+# The CAPI manager module "kcapimgr" is also needed when this device
is entered
+# into a kernel configuration file.
+#
+# Note: Compiling this module as a separate module (i.e. not
directly into the
+# kernel) is preferred. So it is better to comment out the
following
+# device line.
+#
+# Note2: The code for the S2m board is currently not implemented.
+#
+# Supported options:
+# DAIC_LOG_LEVEL initializes the log level for the driver
+# DAIC_MAX_APPLICATIONS specifies the maximum no. supported
+# simultaneously registered applications,
+# default is 30
+# DAIC_MAX_NCCI_PER_PLCI specifies the maximum no. supported
NCCIs per
+# PLCI (useful for ISO 8208 B3-protocol),
+# default is 4
+# DAIC_MAX_NCCI_PER_PORT specifies the overall maximum no.
supported
+# NCCIs per port of a board, default is
128
+# DAIC_MAX_PLCI_PER_PORT specifies the overall maximum no.
supported
+# PLCIs per port of a board, default is 64
+#
+# For more information about the effect of these driver options see
the manual
+# page daic(4).
+#
+device daic
+# Diehl S, SX, SXn, SCOM (specifying the memory size is optional)
+hint.daic.0.at="isa"
+hint.daic.0.maddr="0xD0000"
+hint.daic.0.msize="0x800"
+hint.daic.0.irq="10"
+# Diehl Quattro (specifying the memory size is optional)
+hint.daic.0.at="isa"
+hint.daic.0.maddr="0xD0000"
+hint.daic.0.msize="0x2000"
+hint.daic.0.irq="10"
+# Diehl S2m (specifying the memory size is optional)
+hint.daic.0.at="isa"
+hint.daic.0.maddr="0xD0000"
+hint.daic.0.msize="0x4000"
+hint.daic.0.irq="10"
+
+#
+# CAPI manager driver for the IX1 active ISDN adapters
+#
+# These ISDN boards were originally manufactured by ITK, Germany,
that is now
+# part of Digi International. The boards were also sold under the
name Digi
+# Datafire. See ix1a(4) for further information.
+#
+# The CAPI manager module "kcapimgr" is also needed when this device
is entered
+# into a kernel configuration file.
+#
+# Note: Compiling this module as a separate module (i.e. not
directly into the
+# kernel) is preferred. So it is better to comment out the
following
+# device line.
+#
+# Supported flags (see ix1a(4) for detailed information):
+# 0x00 - 0x03 IX1 Basic ISA, card types 1-4
+# 0x10 - 0x13 IX1 Octo ISA, card types 1-4
+# 0x20 - 0x27 IX1 Multimodem ISA, card types 1-8
+#
+# Supported options:
+# IX1A_LOG_LEVEL initializes the log level for the
driver
+#
+device ix1a
+# IX1 Basic ISA, card number 1
+hint.ix1a.0.at="isa"
+hint.ix1a.0.port="0x380"
+hint.ix1a.0.irq="5"
+hint.ix1a.0.flags="0x00"
+# IX1 Octo ISA, card number 2
+hint.ix1a.0.at="isa"
+hint.ix1a.0.port="0x380"
+hint.ix1a.0.irq="5"
+hint.ix1a.0.flags="0x11"
+# IX1 Multimodem ISA, card number 8
+hint.ix1a.0.at="isa"
+hint.ix1a.0.port="0x380"
+hint.ix1a.0.irq="5"
+hint.ix1a.0.flags="0x27"
+
+#
+# i4b driver to support CAPI controllers
+#
+# The CAPI manager module "kcapimgr" is also needed when this device
is entered
+# into a kernel configuration file.
+#
+# Note: Compiling this module as a separate module (i.e. not
directly into the
+# kernel) is preferred. So it is better to comment out the
following
+# device line.
+#
+# Supported options:
+# I4BCAPIMGR_LOG_LEVEL initializes the log level for
i4bcapimgr,
+# integer value
+# I4BCAPIMGR_ALLOC_MAX_BDATA_SIZE
+# Normally incoming data blocks are
forwarded to
+# the layer 4 drivers just as they
are. But there
+# are situations (activated VJ
compression and
+# uncompression is performed in the
received
+# mbuf) where it is assumed that the
received
+# mbuf is allocated with the maximum
size of 2kB.
+# If this option is set, all incoming
data blocks
+# are copied into new mbufs of maximum
size, thus
+# wasting memory and computing time.
+#
+device "i4bcapimgr"
+
+#
# Hardware watchdog timers:
#
# ichwd: Intel ICH watchdog timer
--- sys/i386/include/i4b_ioctl.h.org.c4b Thu Jan 6 23:18:15 2005
+++ sys/i386/include/i4b_ioctl.h Tue Nov 8 16:07:05 2005
@@ -78,7 +78,8 @@
#define CTRL_TINADD 3 /* Stollmann Tina-dd active
card*/
#define CTRL_AVMB1 4 /* AVM B1 active
card */
#define CTRL_CAPI 5 /* cards seen via the CAPI
layer*/
-#define CTRL_NUMTYPES 6 /* number of
controller types */
+#define CTRL_CAPIMGR 6 /* boards accessed through
the CAPI manager */
+#define CTRL_NUMTYPES 7 /* number of
controller types */
/
*-----------------------------------------------------------------------
----*
* CTRL_PASSIVE: driver types
--- sys/i4b/layer4/i4b_l4mgmt.c.org.c4b Thu Jan 6 23:18:21 2005
+++ sys/i4b/layer4/i4b_l4mgmt.c Tue Nov 8 16:08:21 2005
@@ -301,7 +301,9 @@
for(i=0; i < nctrl; i++)
{
-/*XXX*/ if(ctrl_desc[i].ctrl_type == CTRL_PASSIVE)
+/*XXX*/ if(*ctrl_desc[i].N_MGMT_COMMAND &&
+ (ctrl_desc[i].ctrl_type == CTRL_PASSIVE ||
+ ctrl_desc[i].ctrl_type == CTRL_CAPIMGR))
{
NDBGL4(L4_MSG, "CMR_DOPEN sent to unit %d",
ctrl_desc[i].unit);
(*ctrl_desc[i].N_MGMT_COMMAND)(ctrl_desc
[i].unit, CMR_DOPEN, 0);
@@ -322,7 +324,9 @@
for(i=0; i < nctrl; i++)
{
-/*XXX*/ if(ctrl_desc[i].ctrl_type == CTRL_PASSIVE)
+/*XXX*/ if(*ctrl_desc[i].N_MGMT_COMMAND &&
+ (ctrl_desc[i].ctrl_type == CTRL_PASSIVE ||
+ ctrl_desc[i].ctrl_type == CTRL_CAPIMGR))
{
NDBGL4(L4_MSG, "CMR_DCLOSE sent to unit %d",
ctrl_desc[i].unit);
(*ctrl_desc[i].N_MGMT_COMMAND)(ctrl_desc
[i].unit, CMR_DCLOSE, 0);
--- sys/modules/Makefile.org.c4b Fri Oct 7 17:56:30 2005
+++ sys/modules/Makefile Tue Nov 8 16:13:09 2005
@@ -32,6 +32,7 @@
ath_rate_onoe \
aue \
${_auxio} \
+ ${_avmaic} \
${_awi} \
axe \
bfe \
@@ -42,6 +43,7 @@
cam \
${_canbepm} \
${_canbus} \
+ ${_capidev} \
${_cardbus} \
${_cbb} \
cd9660 \
@@ -60,6 +62,7 @@
${_ctau} \
cue \
${_cx} \
+ ${_daic} \
dc \
dcons \
dcons_crom \
@@ -93,6 +96,7 @@
${_hptmv} \
hwpmc \
${_i2c} \
+ ${_i4bcapimgr} \
${_ibcs2} \
${_ichwd} \
${_ida} \
@@ -125,6 +129,7 @@
iwi \
joy \
kbdmux \
+ ${_kcapimgr} \
kue \
lge \
libalias \
@@ -321,6 +326,7 @@
_ath_hal= ath_hal
_awi= awi
_bktr= bktr
+_capidev= capidev
_cardbus= cardbus
_cbb= cbb
_coff= coff
@@ -337,10 +343,12 @@
_fe= fe
_hfa= hfa
_i2c= i2c
+_i4bcapimgr= i4bcapimgr
_ibcs2= ibcs2
_ie= ie
_if_ndis= if_ndis
_io= io
+_kcapimgr= kcapimgr
_linprocfs= linprocfs
_linux= linux
_lnc= lnc
@@ -378,12 +386,14 @@
_arl= arl
_arcmsr= arcmsr
_asr= asr
+_avmaic= avmaic
_bios= bios
_ciss= ciss
_cm= cm
_cs= cs
_ctau= ctau
_cx= cx
+_daic= daic
_dpt= dpt
_el= el
_ex= ex
--- usr.sbin/Makefile.org.c4b Mon Aug 15 22:24:07 2005
+++ usr.sbin/Makefile Tue Nov 8 16:15:19 2005
@@ -22,6 +22,7 @@
bsnmpd \
${_btxld} \
burncd \
+ ${_c4b} \
cdcontrol \
chkgrp \
chown \
@@ -266,6 +267,9 @@
_apmd= apmd
_asf= asf
_btxld= btxld
+.if !defined(NO_C4B)
+_c4b= c4b
+.endif
.if !defined(NO_I4B)
_i4b= i4b
.endif
--- usr.sbin/i4b/isdnd/controller.c.org.c4b Sat Dec 22 10:38:24 2001
+++ usr.sbin/i4b/isdnd/controller.c Tue Nov 8 16:14:20 2005
@@ -95,6 +95,10 @@
"AVM B1 ISA",
};
+ static char *capimgr_card[] = {
+ "CAPI manager driven board"
+ };
+
if(ctrl_type == CTRL_PASSIVE)
{
int index = card_type - CARD_TYPEP_8;
@@ -117,6 +121,10 @@
if (index >= 0 && index < (sizeof capi_card / sizeof
capi_card[0] ))
return capi_card[index];
}
+ else if(ctrl_type == CTRL_CAPIMGR)
+ {
+ return capimgr_card[0];
+ }
return "unknown card type";
}
@@ -210,6 +218,12 @@
break;
case CTRL_CAPI:
+ isdn_ctrl_tab[controller].ctrl_type = ctrl_type;
+ isdn_ctrl_tab[controller].card_type = card_type;
+ isdn_ctrl_tab[controller].state = CTRL_UP;
+ break;
+
+ case CTRL_CAPIMGR:
isdn_ctrl_tab[controller].ctrl_type = ctrl_type;
isdn_ctrl_tab[controller].card_type = card_type;
isdn_ctrl_tab[controller].state = CTRL_UP;
--
Stefan Bethke <stb at lassitu.de> Fon +49 170 346 0140
More information about the freebsd-isdn
mailing list