                        ===========
                        R E A D M E
                        ===========

       Broadcom Management Application Programming Interface
                       	for Linux

            Copyright (c) 2000-2006 Broadcom Corporation
                     All rights reserved.

Table of Contents
-----------------

    1.  Overview
    2.  Supported Platforms
    3.  Installation
    4.  Files
    5.  Uninstall - RPM package
    6.  Upgrade - RPM package
    7.  Dependency
    8.  Known Limitations



1. Overview
-----------

BMAPI is a shared library that provides various management APIs for
ethernet network controllers. BMAPI also provides many advanced
features to manage and configure Broadcom gigabit ethernet controllers.



2. Supported Platforms
----------------------

BMAPI supports x86, x86_64, and PPC64 architectures on the following platforms:

RedHat Enterprise Linux 3.0 (x86 only, please refer to "Known Limitations")
RedHat Enterprise Linux 4.0 
Suse Linux Enterprise Server 9.0
Suse Linux Professional 10.0

Application should define symbol 'LINUX' before include 'bcmtype.h'
and 'BMAPI.h'. Currently, BMAPI for Linux implements only part of
Windows BMAPI APIs.

Please also refer to 'Dependency' section for more information.



3. Installation
---------------
To install the RPM package, run

  % rpm -i bmapilnx-{version}.{arch}.rpm

  To be backward compatible and allow 32-bit applications to remain 
  intact, the RPM package for x86_64 architecture will install the 
  32-bit library (libbmapi) to support 32-bit applications. In 
  addition, it will provide the 64-bit library (libbmapi_x64) for 
  64-bit applications.



4. Files
--------
  a) For x86 platforms: 
    libbmapi.so.{version}        BMAPI 32-bit shared library 

  b) For x86_64 platforms: 
    libbmapi_x64.so.{version}    BMAPI 64-bit shared library 
    libbmapi.so.{version}        BMAPI 32-bit shared library 

  c) For PPC64 platforms: 
    libbmapi_ppc64.so.{version}  BMAPI 64-bit shared library for PPC
 
  In addition, here are the common files released for all platforms: 
    readme.txt                   this file
    release.txt                  release text
    BMAPI.h                      BMAPI header file
    bcmtype.h                    Data type header file
    brcm_pci.ids                 Broadcom PCI id file

    Note: BMAPILNX_v6.3.28 and later support the search path to locate
          brcm_pci.ids in the following order: 
          
          Priority 1: The path set by $BMAPI_PCI_LOCATION.
          Priority 2: The $PWD path for current directory. 
          Priority 3: The /usr/share directory.



5. Uninstall - RPM package
---------------------------

To uninstall RPM package, 

  % rpm -e bmapilnx



6. Upgrade - RPM package
---------------------------

To upgrade RPM package, 

  % rpm -U --force bmapilnx-{version}.{arch}.rpm



7. Dependency
------------------

Advanced features like diagnostics related APIs and proprietary 
information for Broadcom network adapters are available to the 
Broadcom network adapters running the following driver versions:
    1. all bnx2 versions (driver version >= 1.3.25 is recommended).
    2. tg3 with driver version >= 3.37.
    3. all bcm5700 driver versions.


For installation of Broadcom network adapter driver, please refer
to the 'readme.txt' and 'release.txt' in driver package.



8. Known Limitations
---------------------
    1. 32-bit bmapilnx for Linux x86 is not compatible with the x86_64 
       version of Red Hat Enterprise Linux 3.0 because of a known
       problem in the Linux OS kernel. This is NOT expected to be a
       problem with the 64-bit bmapilnx package on the x64_64 platforms.

    2. Due to a limitation in kernel versions prior to 2.4.23, older
       Linux distributions including Red Hat EL 3.0 may cause BMAPI
       not function with error code 58 to indicate BMAPI_EEPROM_CORRUPTED.
       This problem is seen on 32-bit and 64-bit platforms with 57xx 
       family NICs loaded with tg3 driver (version >= 3.37) and 5706 
       family NICs loaded with bnx2 driver.

    3. On PPC64, BmapiGetBIOS() and BmapiGetSystemASFTables() will return
       BMAPI_UNSUPPORT_PLATFORM.
