January 10, 2006
Overview
The following changes are introduced in this release:
Note:
This release includes a new FPGA configuration for the Expansion FPGA.
This is only significant for DPT4 boards that include the expansion option.
The update is only required for boards with the H.100 clock reference
modification (described below), but will not affect unmodified boards.
Run the dpflashup program after installation to update the FPGA configuration
on the DPT4 board(s).
Device Driver and Software Support for SGI Altix-350 Systems and Suse Linux
Most of the required modifications involved proper usage of data types and type casting for 64-bit compatibility and the software configuration, installation and boot scripts for compatibility with Suse Linux.
The Altix system uses Intel Itanium (IA-64) processors and the DPT4 configuration scripts recognize the CPU type as "ia64". It is possible that the changes also provide compatibility with other Itanium-based systems, but so far the Altix-350 is the only platform that has been tested.
The changes made to support Suse Linux variants are most likely compatible with other Suse installations. However, the only system tested is the SGI ProPack 4.
The configuration scripts recognize the CPU type as "x86_64". However no special compiler options are added by the configuration script. In the case of the the 64-bit variant of Red Hat Enterprise Linux 4 (the tested OS), the compiler is configured to generate 64-bit code without requiring special command line options (e.g. -m64).
Other Device Driver and Installation Updates for Linux and Solaris
The Linux device driver includes a fix for array uploads. When the driver needs to read several words of data from the board it now uses individual calls read each 32-bit word (instead of reading an array of bytes) to ensure that the data retry pattern is detected.
The code for the Solaris device driver includes some minor changes to avoid warnings from the new compiler version included with Solaris 10. The changes have to do with data type sizes when the driver is compiled for the 64-bit Solaris kernel.
The software configuration option for Linux or Solaris to specify using the readline library installed on the system is changed. The new command line argument to the configure script for this option is --with-readline=system.
Support for H.100 Clock Reference Hardware Modification
The solution to the problem is to replace the local oscillator with the incoming E1 clock as the reference clock for the H.100 interface chip. To do so requires a modification to the DPT4 board, itself, as well as updates for the Expansion FPGA and the h100_init library function. The FPGA and library updates are included in this release. Contact CAC if your application is susceptible to this problem to inquire about modified DPT4 boards.
New Library Functions to Support Memory Map Caching on Windows
The memory mapping and un-mapping is performed for any operation that needs to access the resources on the DPT4 board. The more times such mappings are made or un-mapped, the greater the chances for the problem to occur. Although the exact cause of the problem is unknown and there is no absolute solution, it may be mitigated by limiting the number of times memory on the PCI bus is mapped or un-mapped.
The new functions enable the user application to cache the mapping of DPT4 resources so that each memory region only has to be mapped once per application. The memory regions are not un-mapped until the application quits.
To enable the caching, the following function call must be made prior to any other function that would access the DPT4 board. The function returns no value.
enablePhyToVirCache(1);
If the user application is linked to the DPT4 DLL, the physical to virtual mappings are automatically un-mapped when the user application exits. Otherwise the following function may be called prior to the application exiting:
clearPhyToVirCache();
The memory map caching is only supported on Windows based systems.
The functions exist as no-ops for Solaris and Linux.
Support for PCI Slot Location Function in Windows
Information for how to use the library function is available in the latest update to the DPT4 Programming Reference manual and in the release notes for release 1.4.6 when the function was implemented for Linux and Solaris.
Modifications to Utility, Diagnostic and Demo Programs
The dpinfo program is modified to not display the memory region
information by default.
The new -m option is used to display the memory regions.
The program is also modified to report the PCI slot location for
Windows systems.
The use of the command line completion facility of readline is removed from the
dpdebug program because it is not compatible with newer versions of
the readline library.
The program is also modified to fix a bug in cases when a command count is
given without a command.
The dpchantest program is fixed so that data tagged with the framer
number (-T option) works properly when the sync headers are enabled.
The dph100test program is fixed to pass the correct arguments
to the pci_tdm_clock_cfg function for master mode.
The dp54xdiag and dp54xtest programs are fixed to configure
the H.100 slave to use the CT bus clock instead of the board's local clock.
A new demonstration program, dph100demo provides an example
of how to use H-100 with E1 and TDM.
The dpinfo and serial programs are modified to include
the new assembly option for the H.100 clock reference modification.