gm-2.0.8_Linux
BUG FIXES
1) Fixed a bug which could result in memory corruption on x86 Linux
   machines with more than 4GB of RAM.
2) Fixed firmware resource leak (probably introduced in GM-2.0) that could
   cause ports to become unusable and report "port still shutting down"
   when the client programs attempt to open the port.
3) Allow non-GM kernel modules that include gm.h to be compiled with
   -DGM_KERNEL.
4) Eliminate the inclusion of the user header sys/types.h when non-GM
   kernel modules include gm_internal.h, which they should not need to do.
5) Reprioritize event handling on LANaiX interfaces (PCIXD and PCIXE cards)
   to avoid a firmware lockup caused by hardware send FIFO send completion
   count overrun.

gm-2.0.7_MacOSX_FreeBSD
BUG FIXES
1) Fixed a mapper bug triggered by non trivial xbar compares.
2) Relaxed driver/library version checking to gm-1.6 levels.

ENHANCEMENTS
1) Ethernet over Myrinet - Promiscuous mode now off by default and
   settable using standard interfaces.
2) Better support for registering large amounts of memory (MacOSX)
3) Support for the IBM Visual Age compilers (MacOSX)
4) Support for G5 hosts and MacOSX 10.2.7 (MacOSX)
5) Improved support for FreeBSD 5 (FreeBSD)

gm-2.0.6_Linux
BUG FIXES
1) Fix 32-bit application support on 64-bit kernels, effecting AMD64 and
   POWERPC64.
2) Much faster mapping, thanks to a mapper timeout fix.
3) Fixed Ethernet driver unloading while sending/receiving Ethernet
   packets.
4) Restore the use of the used_bogus_send_cnt and used_bogus_recv_cnt
   counters.
5) Linux driver now calls pci_enable_device() for LinuxBIOS compatibility.

ENHANCEMENTS
1) Ethernet gateway caching added, for efficient use of LANaiXM Ethernet
   bridges embedded in Myrinet switch Gigabit Ethernet line cards.
2) Added gm_register_memory_ex() to the GM API.
3) Upgrades to the example programs in gm/examples/.  The changes mainly
   fall into these categories:
   * to comply with the change in the GM API between GM-1 and GM-2;
   * to make the sending and reciving programs use different ports,
     so that they may be run on the same Myrinet interface; and
   * to improve the coding style and eliminate unnecessary GM API calls.
4) Made the --verbose ouput of some install scripts more verbose.
5) The Linux "gm stop" script now ifconfig's down all myri* interfaces.
6) Added support for the amd64 PGI compiler.

gm-2.0.5_Linux
BUG FIXES

1) Eliminate the possibility of message corruption caused by a race
   condition when other memory is deregistered during the message transfer.

gm-2.0.4_Linux
BUG FIXES

1) Configure LANaiX hardware properly to support hardware flow control,
   improving many-to-one performance.
2) Increase GM_SEND_TIMEOUT for compatibility with the LANaiX's
   deep HW FIFOs, improving many-to-one performance.
3) Fix NACK generation to avoid all send timeouts not caused by
   packet corruption, misrouting, or connection initiation, so the
   increased GM_SEND_TIMEOUT should not effect performance.
4) Fix misreporting of unstripped route bytes as misaligned CRC32's
   in the output of gm_counters.
5) Reorganized the output of gm_counters and gm_debug for clarity.
6) Eliminate false "LANai not responding" reports by eliminating the race
   condition that caused them.
7) Fix interrupt delivery testing.
8) Fixed a mapper bug that was causing some network links to be overloaded,
   effecting performance on large clusters.
9) Fixed UDP performance drop introduced in gm-2.0.3.
10) Fixed remote DMA accesses on mixed 32-bit/64-bit networks.

ENHANCEMENTS
1) Added mapper support for static maps.
2) Added --clear flag to gm_counters to clear counters. (privileged command)
3) Add a "--enable-perr-polling" configuration option to poll PCIXD
   interfaces each second to detect the PCI PERR (parity error) bit.  
   This option should only be used on systems which ignore PCI parity errors.
4) Added "gm_stress --put" option.

gm-2.0.3_Linux
BUG FIXES

1) On SMP Linux kernels, fixed a low-level driver blocking bug that
   could cause blocking to hang.
2) Fix buffer overrun in _gm_build_id for users who build GM in directories
   with very long paths.
3) Fix some internal structure alignment problems on some systems using
   64-bit pointers.
4) Fix sbin/gm_install_drivers to handle unusual characters in command line
   options.
5) Render harmless calling gm_allow_remote_memory_access() multiple times,
   since at least one client application does this.
6) Fix a memory registration bug that could cause DMAable pages to be
   swapped out.

gm-2.0.2_Linux
BUG FIXES

1) Check for LANai SRAM parity errors on LANaiX hardware.
2) Adjust payload_len in Ethernet-over-Myrinet packets for compatibility
   with Myricom LANai XM Ethernet bridges.
3) Make GM less likely to experience GM_SEND_TARGET_NODE_UNREACHABLE
   timeouts on networks with very high CRC error rates.
4) Explicitly export symbols in the Linux kernel, so we export only the
   intended symbols.

gm-2.0.1_Linux
BUG FIXES

1) Fixed incorrect NACK processing that was causing "reliable" packets
   to be corrupted, open ports to appear to be closed, and myriad other
   misbehaviors when triggered.
2) Initialize state for node_id 0 (the unused node ID) to prevent
   user applications from triggering a firmware assertion if they
   incorrectly pass this node ID to the GM API.
3) Fixed some mapper problems affecting large clusters.
4) Fixed a mapper bug that prevented gm_board_info from reporting the
   network as fully configured.
5) Restored "(mapper)" labelling in the output of gm_board_info, which
   had disappeared in gm-2.0.
6) Fixed port closure page table cleanup.  If a client application exited
   uncleanly (without deregistering all of its memory) then the driver
   might not properly remove all page table entries for the port,
   which could lead to data corruption for subsequent programs
   using the same port.
7) Fail gracefully if there are more nodes on the network than can
   be supported by the firmware.
8) Workaround an apparent bug in ServerWorks Grand Champion PCI-X chipsets
   triggered by PIO reads by avoiding PIO reads during regular operation.

gm-2.0_Linux
ENHANCEMENTS

1) Added support for PCIXD interfaces.
2) Restructured firmware for more flexibility.
3) Improved Ethernet-over-Myrinet performance and reduced overhead.
4) Eliminated global "GM node ID" assignment from the mapper, greatly
   simplifying mapping.
5) Improved Mapper that supports multiple mappers and is automatically
   started by the driver loading scripts.
6) gm_get() support added (single-sided remote DMA read)
7) New Ethernet-over-Myrinet encapsulation to support Ethernet bridging
   and route dispersion.
8) Added software loopback support.  Packets to and from the same
   network interface card are looped back in the network interface card
   for improved performance and to fully support point to point
   (switchless) Myrinet connections.
9) Made GM library incur fewer cache misses.
10) 16 Ports supported by default (13 available for customer
    applications).
11) Revised DMA performance measurements to used chained DMAs to better
    measure the performance potential of PCI-X.
12) Added support for automatic driver and mapper loading at boot for 
    Red Hat, Debian, and Suse 8.2.

BUG FIXES

1) Make the GM API header (gm.h) not generate and warnings under
  "gcc -Wall -Wundef -W" and only a single warning under "icc -Wall"
  (the Intel compiler).

IMPORTANT API CHANGE

There is a small but important semantic change to the GM API, which
makes the GM-2 API not fully backwards compatible with the GM-1 API.
If you are using middleware such as MPICH-GM or Sockets-GM, you must
use a recent release especially modified for GM-2 compatibility.  This
change may require changes in other software layered above the GM API.

The semantic change is as follows: The GM "node IDs" passed to and
from the API are now local IDs that only have meaning only for ports
on a single network interface card (NIC).  These value should not be
passed over the network to ports associated with other NICs.  If a
program needs to pass a node reference over the network, it can use
gm_node_id_to_global_id() to generate 32-bit global IDs that can
safely be passed around the network, but must be converted back to a
local node ID on the receiver with gm_global_id_to_node_id().  (Global
IDs should never be passed to other GM API functions.)  gm_unique_id's
(NIC MAC addresses) and host names may be used similarly, but are more
expensive.

OTHER USER-VISIBLE CHANGES

1) GM-2 and GM-1 should not be used on the same network at the same time.
2) Added "--no-yp" option to gm_board_info.  Since GM-2 uses network
   queries to resolve some information about the network state, and
   this option prevents all such queries when gm_board_info is run.
3) Added "--verify" option to gm_board_info.  Host name to node ID
   checking is now optional in gm_board_info, because it generates
   a significant amount of network traffic (O(N^2) packets on an N node
   network).
4) Added "--wait" option to gm_board_info, which causes it to wait for
   a mapper to configure the network before reporting.
5) The output of gm_board_info is somewhat different for PCIXD cards than
   earlier cards.  This may affect some users' scripts if they parse
   the output of gm_board_info.
6) Mapper state is now stored in /var/run/gm_mapper/ when the mapper
   is started automatically.
7) Some GM configuration files may exist in /etc/gm/.
8) The user-level mapper must be running on all nodes to be mapped.

------------------------------------------------------------------------------
gm-1.6.4
BUG FIXES

1) Fix to the configure script when using Compaq compilers to build GM on
   Alpha Linux.
2) Workaround for Itanium bug when using strncpy() from the libc of
   RedHat Advanced Server.
3) Fix for gm_stbar NOTICE message that occurs on Itaniums.
4) Fix to the mmap_sem.patch that will affect Linux kernels < 2.4.3.
5) Fix to add functionality to the gm_set_speed utility to clear the
   BEAT_ENABLE in the MYRINET register.
6) Fix to relax the lib/driver checking to that of gm-1.5.x.
7) gm_board_info reports more helpful error messages in place of the
   less helpful "No boards found or all ports busy"

ENHANCEMENTS
1) Fix to support SuSe highpte support (2.4.18 and higher).
2) Significant performance improvements in the MCP; both latency and
   bandwidth are improved with respect to gm-1.6.3.
3) Support for AIX 4.3 and 5.1

-----------------------------------------------------------------------------
gm-1.6.3
BUG FIXES

1) gm_allsize: now exits when ^C is pressed prior to establishing a
   connection
2) Fixed build problems with RedHat Advanced Server and
   Workstation kernels.
3) Fixed kernel panics when using gm_fork on older 2.4.x (x <= 2.4.10)
   kernels
4) Includes all bugfixes found in gm-1.5.2.4.
5) Fixed Solaris kernel locking issue effecting Solaris SMP machines.
6) Fixed some Solaris installation issues.

ENHANCEMENTS
1) Linux shared libraries are now supported.
2) MII support for Linux 2.4.x (x >= 2.4.6) with PCI64B and PCI64C
   boards.  This provides support for doing ethernet channel bonding
   with Myrinet.
3) Support for AIX 4.3 and AIX 5L 5.1.

-----------------------------------------------------------------------------
gm-1.6
BUG FIXES
1) gm_board_info: eliminated the arbitrary ceiling of 4 on board numbers probed
   by the program.  It will now continue listing boards until four consecutive
   candidate board numbers do not identify actual boards on the host.
2) All applications using the API: An arbitrary ceiling of 9 on unit numbers
   has been removed.  An interface can now be opened regardless of its GM unit
   number.
3) Test programs gm_allsize, gm_counters, gm_debug, gm_dirsend, and gm_nway:
   errors in handling the '--port', '--remote-port', '-p', and '-d' options
   have been fixed.

gm-1.6
ENHANCEMENTS
1) Included shared libraries in Solaris and Linux releases.
2) Include both 32-bit and 64-bit libraries for 64-bit Solaris.
3) Include special firmware code to support streaming DMAs on sun hardware
   using the Schizo PCI bridge, enhancing performance.
4) A new class of application programs, called 'example' programs (as distinct
   from 'test' programs), has been introduced to the standard GM distribution.
   These example programs are intended to illustrate the use of the GM API.
   Their program source is found in a new examples/ subdirectory of the GM
   source tree.  The initial programs in this class are gm_simple_example_recv
   and gm_simple_example_send.
5) A usage example has been added to the output of "gm_nway --help".

-----------------------------------------------------------------------------

gm-1.5.2.4

ENHANCEMENTS
1) Support for MacOS X 10.2

-----------------------------------------------------------------------------

gm-1.5.2.3

ENHANCEMENTS
1) Support for FreeBSD 5.0 as of FreeBSD-5.0DP1

-----------------------------------------------------------------------------

gm-1.5.2.2

BUG FIXES
1) Fixed a long-standing bug where alarms could fail to work if an
application canceled alarms frequently (such as by calling
gm_blocking_receive())
2) Fixed a small memory leak in the Tru64 ethernet emulation driver.
This leak only affects customers using NFS over GM on Tru64.
3) Improved support for GM module unloading on Tru64.


ENHANCEMENTS
1) Updated myri* include files to latest versions.
2) Tru64, MacOS-X, and FreeBSD now support IP multicast over GM
ethernet emulation.
3) Tru64 GM kernel module loads much faster.

-----------------------------------------------------------------------------

gm-1.5.2.1

BUG FIXES
1) Fix several bugs in the fork support for Linux, potentially causing kernel 
   panics.
2) Re-enabled the system() overload using vfork instead of fork for performance 
   purposes.
3) Initialization of the PCI Parity Error bit in the PCI config space (PERR)
   to 0 at load time of the driver. This bit may be set to 1 during POST, and
   stay high during operations, without real parity error detected on the PCI.

ENHANCEMENTS
1) New feature in the mapper to set the same MAC address to multiple NICs in 
   the same host, useful for channel bonding and high availability.
2) Small documentation change for ATI conflict on Linux.
3) gm_stress update about transient error management.

-----------------------------------------------------------------------------

gm-1.5.2

BUG FIXES
1) Fixed a problem (enabled directed sends) that resulted in mpich-gm not
   working on compact builds (compact builds are only for LANai4 based cards
   with 512k sram).
2) Applied a patch from CSPI for their custom systems with embedded LANai chips.
3) Integrated McKinley patch for cache-line-size.
4) More robust check to enable gm_registering private file mappings
  (previous check was not allowing registering initialized data when working
   from NFS in the case of the Suse-2.4.4 kernel).
5) Flag LANAI SRAM mapping from user-space as not coredumpable (was causing 
   deadlock during coredump with kernel 2.4.17 but not with any other kernels).
6) Poll patch to force changing ports when polling.
7) Log dispatch bug (only important for this debugging mode) fixed.
8) Rotate the send queue to fix livelock situation.
9) Set DEBUG register to disable output to DEBUG pin.
10) Write extra PULSEs periodically to ensure that one is not missed.
11) Fixed a memory leak in the Tru64 ethernet emulation driver.  This
   leak would only affect customers running NFS servers on Tru64 and
   exporting files over GM.
12) Fix in gm_unique_id_to_node_id that could corrupts caller memory 
    on 64 bit architecture (copying 8 byte instead of 4 byte for the node_id.
13) Fix in the example programs, wrongly using gm_free instead of gm_dma_free 
    to free DMA-able memory.

ENHANCEMENTS
1) Linux devfs support.
2) gm_stress.c - added command-line options for the minimum number of 
   receives/size and a barrier timeout.
3) PAE support for x86 Linux kernels with more than 4GB of physical memory.
4) Use of the official Linux device number allocated to Myricom GM to
   avoid collision.  The previous one will still work during the 
   transition period.
5) Added /dev/myricom into the path looking for the gm device entries.
6) Relaxed version checking so that an executable compiled with gm-1.5.2
   can be run on nodes with different versions of gm-1.5.x loaded.
7) Linux support for fork() in programs with GM ports opened.
8) A usage example has been added to the output of "gm_nway --help".

-----------------------------------------------------------------------------
gm-1.5.1
BUG FIXES
1) Fixed a driver incompability with kernels >= 2.4.14 causing Oops.
2) Fixed a bug in the ether/ip driver causing an "GM assertion failure" panic
in case of memory shortage.
3) Fixed memory size detection for ia64.
4) Fixed port closure bug on Sparcs.
5) Fixed bug in linux driver that could sometimes cause a panic when a GM
process was running under a debugger (totalview and maybe others).
6) Release driver mutex when the kernel sleeps, allowing basic concurrency
in GM when one thread is sleeping.

ENHANCEMENTS
1) Support to register PCI mappings on x86.
2) Workarounds for some alpha/powerpc kernel bugs (driver compatible with
more kernels).
3) Partial support for x86/PAE kernels (restricted to machines with less
than 4Gb mem).
4) Added MODULE_LICENSE.
5) Significant increase in the amount of DMA-able memory which can be allocated
when memory registration is not supported (Solaris 2.7).
6) FreeBSD and Tru64 ethernet emulation support has been totally
revamped and features better error recovery, higher performance, and
receive side checksum offloading for IPv4 TCP and UDP (FreeBSD 4.1 and
higher, Tru64 5.1 and higher).

-----------------------------------------------------------------------------
gm-1.5
BUG FIXES
1) Linux driver completely revisited. Works for Linux 2.2.X and 2.4.X, 
on all platforms and with all memory configuration.
2) Fixed a race condition between the memory registration and the swapper 
in Linux 2.4.X
3) Memory registration can now fail silently, used by the new MPICH-GM 
to implement a registration cache.
4) Fixed gm_nway "-v" bug.
5) Fixed problem when user specifies configure option "--enable-printing".
6) Linux ethernet emulation fixes.

ENHANCEMENTS
1) Can register MUCH more memory than gm-1.4.1
2) MCP performance improved by disabling costly asserts.
3) GM security is now enabled by default, so only root can run the mapper.
   Unix sysadmins may "chmod 666 /dev/gmp*" to allow anyone to run the
   mapper, but this is discouraged, as it allows mere users to clobber
   the cluster configuration.
4) Configure option --enable-new-features on by default.
5) Added gm_config_info feature to generate configure info for support issues.
6) Fixed obsolete reference to the "scripts" directory... now called
        "share" in accordance with the Gnu coding standards.
7) Auto-detect page size for ia64.
8) Report error if multiple page sizes are enabled.
9) Improved error reporting of incompatible configure options.
10) Defined a new GM_API_VERSION in gm.h.
11) README and README-linux files updated.
12) Removed the configure option "--enable-crc32" option.
13) Removed obsolete gam directory.
14) Linux driver now includes receive side checksum offloading for
    IPv4 TCP and UDP.

-----------------------------------------------------------------------------
gm-1.4.1
BUG FIXES
1) mt compile errors under Msoft compiler.
2) Better protection in MCP for bad mapper messages.
3) Added diagnostic printfs to linux driver for asserts.
4) Fixed gm_ticks() to avoid a potential (but never observed) timer glitch.
5) gm_receive*() will now never return a GM_SLEEP_EVENT.
6) gm_receive*() and gm_blocking_receive*() calls may now be safely mixed.
7) Fixed a bug where mixing gm_cancel_alarm() and gm_receive*() would break
   the GM alarm feature.
8) Fixed problems with linux-2.4 large memory configurations (pci_map).
9) Fixes for IRIX (in 1.4.1pre1):
   * Fixed a bug that caused application lockout under certain conditions.
     The problem was over-zealous locking on the part of the IRIX-specific
     code in GM.  The locking was relaxed.
   * Fixed a bug that caused a spurious application-program assertion
     failure under certain conditions at close time.
10) Fixed a minor security flaw in the Windows support.
11) Removed blocking_recv changed added in gm-1.4pre56. (1.4.1pre6)
12) Fixed driver unload in Windows 2000.
13) Fixed a bug when multiple alarms expire simultaneously.
14) Removed unused progression code. (1.4.1pre8)
15) Added pci_set_dma_mask support for linux >= 2.4.3 (1.4.1pre10)
16) redefined gm_assert() for better optimization (1.4.1pre10)
17) Fixed gm_board_info to correct label printout. (1.4.1pre12)
18) Linux fork/system works! (1.4.1pre12)
19) Removed buffer "loaning" from tru64 IP driver (1.4.1pre13)
20) Fixed compile/configure problems with user "test" (1.4.1pre13)

ENHANCEMENTS
1) Added gm_wait() and progression code in LANai.
2) Added timestamps to mapper printfs.
3) Enhancements for IRIX (in 1.4.1pre4):
   * Rationalized the structure of the /usr/myricom/ directory on the host.
   * Cleaned up support for libgm.so.
   * Added chkconfig and init.d support for automating mapper start and stop.
4) Relocking a page takes less system resources under NT.
5) Added Gallatin cleanup for FreeBSD compile (1.4.1pre10)
6) Improved the interactive help from gm_allsize and gm_debug.
7) gm_debug now prints the identity of the target hardware platform that it
   was built for.
8) gm_board_info now decodes the max_lanai_speed information, and the
   board_type and bus_type lines have been eliminated.
9) gm_nway has major improvements in its command-line interface, help
   response, and internal logic.
10) Removed printf for gm_register_memory driver failures (1.4.1pre10)
11) Removed printf from LANai for send failures ((1.4.1pre11)
12) Turn on --enable-new-features as default (1.4.1pre12)
13) Increased the maximum about of locable memory in linux. (1.4.1pre12)
14) file_mapper is now built and installed in sbin automatically. (1.4.1pre12)
15) gm_allsize extended to test forking ('--fork-parent', '--fork-child') and
    to test bi-directional summed bandwidth ('--both-ways'). (1.4.1pre12)
16) Options for test programs standardized to POSIX style, and '--help' option
    provided for each. (1.4.1pre12)
17) Committed initial AIX code (1.4.1pre13)
18) GM_UNINSTALL created (IRIX only) (1.4.1pre14)
19) '--timestamp', '--versionstamp', and '--no-versionstamp' options added to
    gm_allsize, and gmperf.pl modified to specify '--versionstamp' for all
    invocations of gm_allsize. (1.4.1pre14)

----------------------------------------------------------------------------
gm-1.4
BUG FIXES
1) Modified gm_open to fail if libgm version doesn't match kernel version.
2) fixed gm_hash bugs for small data sizes
3) Fixed solaris ethernet problems (gm-1.4pre28)
4) Fixed shortcut bug with messages that crossed a page boundary. (gm-1.4pre35)
5) Fixed Tru64 IP driver to use different DMA scheme. (gm-1.4pre36)
6) Fixed kfree_skb in hard IRQ for linux-2.4 (gm-1.4pre36)
7) Fixed -fill-gm-id-gaps implementation in mapper (gm-1.4pre39)
8) Removed linux IP driver copies on send. (gm-1.4pre39)
9) Fixed variance in DMA test reported by gm_debug (gm-1.4pre40)
10) Fixed linux-2.4 IP driver queuing when out of send_tokens (gm-1.4pre40)
11) lanai-gcc (LANai7) fixed a bug in 64-bit register-to-register moves (gm-1.4pre41)
12) Fixed problem with ethernet broadcast and new-features (gm-1.4pre42)
13) Fixed a bug in linux-2.4 that led to oops when ctrl-Cing out of a program. (gm-1.4pre44)
14) Modified linux physical address testing to avoid linux-2.4 problems. (gm-1.4pre45)
15) Fix for linux-2.4 directcopy. (gm-1.4pre45)
16) Fix for changes in linux-2.2.18. (gm-1.4pre45)
17) Fix for linux NFS mouting over Myrinet on alphas. (gm-1.4pre48)
18) Fix for vxWorks send - now we free the mbuf chain. (gm-1.4pre50)
19) Fix for highmem and linux-2.4. (gm-1.4pre50)
20) Fix for local_mutex problems. (gm-1.4pre51)
21) Added a copy for small packets in Tru64 IP driver. (gm-1.4pre51)
22) More changes for directcopy and linux-2.2 / linux-2.4 (gm-1.4pre52)
23) Better locking for solaris open/close/set_port_num. (gm-1.4pre53)
24) Added spinlocks for linux interrupts and IP transmit code (gm-1.4pre56)
24) Added locking for osf1 open/close/set_port_num. (gm-1.4pre56)
25) Changed solaris init script to be S24myrinet rather than S99. (gm-1.4pre56)
26) Added alphaev67 to config.sub. (gm-1.4)

ENHANCEMENTS
1) The IP driver now compiles and works correctly on freebsd-stable 4.1.
   See README-FreeBSD.
2) GM is now supported on IRIX 6.5, except that IP support is not working.
   See README-irix.
3) Added nack_down support (gm-1.4pre27)
4) Added a check for gcc-2.96 to abort compilation. 2.96 is buggy for kernel compile.
5) Added mapper option -ignore-node-type. (gm-1.4pre49)
6) Added better printout for the mt/deadlock program. (gm-1.4pre50)
7) Better vxworks IP support. (gm-1.4pre51)
8) Better (more consistent) linux kernel printing. (gm-1.4pre51)
9) Turned on DDI_DMA_STREAMING for gm buffers in solaris. (gm-1.4pre51)
10) Turned off DDI_DMA_STREAMING for gm in solaris (gm-1.4pre52, 2001-02-19)
11) Solaris driver now can find hostname. (gm-1.4pre52)
12) gm_board_info now decodes the lanai_cpu_version, e.g., "LANai7.2" (gm-1.4pre52)


--------------------------------------------------------------------------------
gm-1.3.1
BUG FIXES
1) fixed L7 support to include LANai7.0
2) fixed bug in mt makefile
3) fixed bug in powerpc endian flag definition
4) LANai7 and LANai9 MCP compiled code was buggy due to lanai-gcc bugs.

ENHANCEMENTS
1) Modified --enable-new-features to NOT turn on CRC32.
   This allows L7/L9 (new features) to talk to L4 nodes


gm-1.3.0
BUG FIXES
1) Solaris GM_INSTALL (S99myrinet) to use modload to make driver load "sticky".
2) Fixed gm.h for i386 solaris compiles with Sun compiler.
3) Fixed CRC32 for pt-to-pt links.

ENHANCEMENTS
1) Added a printf to kernel log when MCP can't convert user VMA to a DMA addr.
2) Added PCI64B (LANai9) support.
3) --enable-new-features is the default configure option now
   If you need to compile for L4 interfaces - use --disable-new-features





gm-1.2.1
BUG FIXES
1) Solaris GM_INSTALL script now works for newer versions of Solaris 
   and SBus cards.
2) Solaris GM_INSTALL (S99Myrinet) now uses modload to make 
   driver load "sticky".
3) Fixed gm.h for i386 solaris compiles with Sun compiler.

ENHANCEMENTS
1) Added a printf to kernel log when MCP can't translate a user VMA 
   into a DMA address.



gm-1.2
BUG FIXES
1) --enable-galvantech_workaround was broken, especially header checksums
2) strengthened the end-to-end GM checksum when 
   --enable-galvantech_workaround is set
3) Fixed sparc64-linux support
4) Mapper changes to better handle large dynamic networks.
5) gm_nway -v (verify) tests now work correctly
6) FreeBSD now compiles for 4.0-current (3/2/2000)
7) Solaris driver modified to work with gcc-2.8.1 compiler (varargs problems)
8) Fixed gm_register_memory support to return proper errors. It never
   was able to return a failure status. This could result in programs sending
   messages from buffers that were not pinned.
9) Fixed linux driver to correctly handle multiple port opens at once.
10) Fixed bugs in osf1 (Tru64) support for ioctls. 
11) Fixed support for 256KB and 512KB boards.
13) Fixed linux driver to correctly handle registration of the same page on
    different ports.
14) Fixed linux BIGMEM support
15) Made gm_host_name_to_node_id case-insensitive
16) Fixed crc32 support for datagrams (broken in gm-1.2pre11)
17) Fixed Tru64 support for accessing globals (gm_counters, gm_debug)


ENHANCEMENTS
1) Added LANai7-only CRC32 on all packets.
   	./configure --enable-new-features
   to turn it on
2) Added LANai7-only major increase in the page_cache in LANai. 
      ./configure --enable-new-features to turn it on
3) Added "real" 64-bit Virtual Memory Address support. 
4) Added solaris7 64-bit support for Ultrasparcs (requires sun C/C++ compiler)
5) Added gm_counters to dump packet counts.
6) Increased GM-Ethernet MTU to 9000 when using --enable-new-features
7) Cleaned up vxworks support and added MCP750 support.
8) Added gm_register_memory support to Tru64
9) Added gm_datagram_send()
10) Added the directcopy support for local copy for MPI-GM/SMP.
11) Cleaned up the pre-build support so that only one source tarball needs
    to be produced.
12) Added more counters to MCP and gm_counters to track packet drops
    from not having any receive buffers.
13) Linux driver now allows SHMEM memory to be registered.



gm-1.1.4
Fixed Tru64-V4.0F multiple board support.

gm-1.1.3
Added support for compact (256KB cards) on 8KB page systems with 32bit
pointers.  Support for compact 8KB page systems with 64bit pointers
(e.g. alphas) requires GM_MAX_PAGE_HASH_CACHE_INDEX (in
include/gm_types.h) to be 127.


gm-1.1.2
Added support for 128 byte hostnames.
Changed page hash cache replacement strategy back to least most
recently used (LMRU).
This fixes the performance dropoff for large messages.
Cleaned up FreeBSD support. It only worked for a single process
acessing the card. Cleaned up FreeBSD Ethernet support too.
FreeBSD 4.0 support complete.
Rewrote gm_allsize.
Alarm callbacks may now call gm_set_alarm() safely.
Fixed Tru64 SMP support.
Verified Tru64-V5.0 support works.
Added --enable-galvantech_workaround configure option to checksum all
GM packets and certain DMA transfers from the host. This is only
for LANai4 and all hosts in the network must have this configured
in.


gm-1.1.1
Fixed some problems building from source outside Myricom.
Fixed major problems in the mapper related to nodes going
up and down and mapper going passive and active.
Fixed a bug introduced in gm-1.1 that caused memory corruption in 
the LANai. gm-1.1 is not safe for general use.

gm-1.1
Mapper handles arbitrarily large networks.
GM nodes support a diameter of 24 hops.
Optimized MCP produces better latency and bandwidth.
Support for 66MHz PCI operation.
Support for pre-build MCPs (no need for lanai3 tools to build GM).

gm-1.087
mt: added better "ping" information for testing nets.
mt: mapper changes to support dynamic timeout adjustment

gm-1.086
Modified gm_set_host_name/gm_get_host_name  to properly handle 
operations if node is the mapper. Also changed gm_board_info,
gm_setname and libgm/gm_open.


gm-1.085
CSPI MAP-26xx changes to driver and MCP (LANai 5).
Modifications to drivers/solaris2.5/gm_install to 
handle the PCI64 cards.

gm-1.084
More FreeBSD IP additions/modifications.
CSPI MAP-26xx files added to vxworks tree.
More barrel simulation mapper changes.


gm-1.083
Started Force pcore-750 vxworks support.
Added some linux driver mods to make he driver more
robust to inopportune unloads etc.
Begin better FreeBSD support including IP.
Irix IP driver updates.
Mapper barrel-shift support added.
Changes to tests to support NT and vxworks compiles.
gm_board_info now prints the id of the node that configured
the routing tables.

gm-1.081
Fixed a bug in linux driver related to memory registration.
gm_arch_lock_user_buffer_page now checks return codes from 
functions and reports any errors.

Added DMA in both directions in MCP initialization.

Fixed a bug in gm_install for PCI64 cards (pci103c,106b)

gm-1.08
Added GM_CAN_REGISTER_MEMORY to vxworks support
Fixed some tests to compile/run under vxworks.
Modified libgm/gm_directed_send to print a warning
when called with non-aligned pointers or length.

gm-1.07
Fixed a syntax error in libgm/gm_register.c that showed up
in kernel builds. 
Completed mapper -never-set-hostname additions.


gm-1.06
vxworks support fixed - it was broken after gm-1.02.
Misc solaris changes to support special mapping boards.
_PAGE_PWT added to linux driver to prevent x86 boxes from 
mapping LANai memory into write-combining space.
Misc linux function prototype changes.
Mapper -very-verbose will dump packets.
mapper -never-set-hostname added 
Fixed mapper -unchanged-maps 
gm_setname added to tools/tests. Allows user to
set the gm-hostname to anything.


gm-1.05

Misc linux fixes for compiling SMP and 2.0.x.
Misc linux IP cleanup.
NT fixes to get gm-1.05 to compile and run.
Fixed NT port_close problem that would kill off the mapper
and send it into 100% CPU utilization.
Better OSF1 (Digital Unix) install script.
Fixes to gm.h to properly support inlining.
gm_bcopy.c cleaned up to have a little better error checking.
Mapper fixed to support pt-to-pt. Support mistakenly removed in 
gm-1.04. scout-tries increased from 3 to 13.
LogP, board_info, gm_allsize, gm_nway minimal changes.

gm-1.04

Fixed a mapper bug introduced in gm-1.02.
This would cause the mapper to produce incorrect
routes. You should not use the mapper from gm-1.02 or gm-1.03.
Some FreeBSD support added.

gm-1.03

Added gm_simpleroute.c in tests.
Fixed register memory bugs for linux.
Added comments to active.args to document mapper options.
Mapper change to correctly handle passive mappers waking up.
Tru64 (OSF1 V4.0) Alpha support added.
PPC Linux support added.


gm-1.02

Generic
added test-and-set of PCI config bits for
	memory
	dma master
	memory-write-and-invalidate

Better support for compiling gm with Portland Group, and Sun
compilers.

Added a gm_blocking_receive_no_spin() function
to reduce CPU utilization by mapper and other processes
that sleep a lot.

Fixed bugs in alarm code to make sure all alarm references
use 64bits.

Mapper changes to prepare to support bridging to ethernets.

GM nway mods.


Linux
Modifed the GM_INSTALL script to delay after removing the module
Added config options for re-directing the kernel_source location
for the build.
Cleaned up Alpha support
Added sparc-64 support
Fixed a problem with registering memory

NT
Cleaned up NT code to provide NT support for 1.02.

Solaris
Added some flags to support "mapping-special" cards.


