March 20, 2008
Overview
The following changes are introduced in this release:
Notes:
Several functions in the API and support programs are modified to recognize the new PCI_DPT6 board type identification so these boards won't be mistaken for DPT4 boards.
Updates to FPGA Configuration for DPT5 and DPT6 Boards
New API Function to Obtain Board Information
The prototype for the function is:
int pci_get_info(
PCI_MOD *dev; /* Handle for open DPT4, DPT5 or DPT6 device */
int *board_type; /* pointer for storage of the board type */
int *board_rev; /* pointer for storage of the revision */
int *board_serial ); /* pointer for storage of the serial number */
The value stored in board_type is one of the macros:
| PCI_DPT4 | - | A DPT4 board |
| PCI_DPT5 | - | A DPT5 board |
| PCI_DPT6 | - | A DPT6 board |
| PCI_DPT4_UNCFG | - | A DPT4 board whose FPGA is not configured |
The value stored in board_rev is an integer value of the board's hardware revision.
The value stored in board_serial is an integer value of the board's serial number. This is a combination of the serial number stored in the board's EEROM (usually between 0 and 9999) offset by the base serial number for the board's type.
Any of the pointer arguments may be NULL for information that is not required.
The following diagnostic tests are run:
| dppiomem | - | Tests SDRAM on the board |
| dpdpram | - | Tests the dual-port memory. |
| dpchantest | - | Tests MIPS channelization and framers in E1 and T1 modes |
The program displays progress messages as the tests are run. The channelization tests are run in the background, allowing the program to continue testing other boards while they run. Status and progress messages from the individual diagnostic programs are not displayed except to report errors or warnings. By default, error messages are stored in error log files. Command line options allow these logs may be disabled and/or normal progress messages may be logged. There are other command line options to control various aspects of the diagnostics.
For more information, see the "DPT4, DPT5 & DPT6 Utilities and Diagnostics" manual or run the program with no command line arguments for a summary of the command line options.
This program is intended to replace the diagnostic script files, dpt_test.bat for Windows and dpt_test.csh for Linux and Solaris. These scripts are included in this release but are no longer supported and will eventually be discontinued.
Modifications to Utility and Diagnostic Programs
The dpmemtest program now allows multiple memory regions, test types
or data sizes to be specified with the command line options,
-t, -T or -S.
The dp54xled program has a new -n command line option
to specify a number of test loops that should be run before quitting.
The default is to run continuously.
The dp54xdiag program now reports a total error count at the end
and the format of status messages has been modified.
The dps2pci program to display the full serial numbers of
boards, adjusted for the board type.
Also, if a serial number is specified without the upper, board-type section,
the search is conducted using the base number for all board types.
Updates to the Windows Device Driver
The Windows device driver is no longer dependent on the number of
CPU cores in the system.
Previous versions of the device driver included per-CPU status
monitoring code that was limited to 4 CPU cores.
This code has been removed from the release version.
The version of the driver for debugging still uses this code but
it has been modified to handle up to 32 CPU cores.
The Windows device driver also includes modifications to recognize DPT6 boards
and support for EEROM cache "keep" mode.
Updates to the Linux Device Driver
The use of memory mapping functions is also modified for compatibility
with XEN-enabled Linux kernels.
The Makefile and configuration script for the Linux device driver
are modified to support building the driver go 2.4 kernels on
x86_64 (Intel x86 EMT64) architectures.
The dpt_delay() function in the device driver is modified
to use the newer wait_event_timeout() and wait_event_interruptible timeout()
functions available in the 2.6 kernel.
The Linux device driver also includes modifications to recognize DPT6 boards
and support for EEROM cache "keep" mode.
Support for Solaris 10 on X86 and AMD64 Platforms
The Solaris device driver also includes modifications to recognize DPT6 boards
and support for EEROM cache "keep" mode.
Changes to the Linux and Solaris Configuration Script Options
The flags parameter may be any compiler flags valid for the compiler
being used.
This is especially useful for building 64-bit compatible libraries on Solaris.
For example, specifying --with-cflags=-m4 for the GCC compiler,
will configure the Makfiles to build 64-bit code.
Other uses include building code that is position independent for use
as part of a shared object.
The dpinit program now reads the first 64 EEROM locations
so that the current values are all available in the device driver's cache
for subsequent API functions and programs.
There is also a new command line option to set a flag for the
device driver to keep all of the cached values.
This feature is primarily used for hardware debug operations.
The Linux device driver is updated to support changes in the memory mapping
functions provided in the Kernel starting with version 2.6.10.
The required function calls are determined by the configure script.
For systems updated from earlier Kernel versions, it will be necessary
to re-run the configure script before rebuilding the device driver.
This update provides support for Red Hat Enterprise Linux 5 which
uses a kernel based on Linux 2.6.18.
The Solaris device driver now works with Solaris 10 on x86 and amd64 platforms.
The configuration script and Makefile include changes to recognize the
amd64 platform and provide proper command options for the GCC and Sun Studio
compilers.
A new configuration option is added to the script for configuring the
software build on Linux and Solaris systems.
The new option allows custom compiler flags to be set for building the
API libraries and the support, diagnostic and demonstration programs
with specific code generation directives.
The new option is:
--with-cflags=flags