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