http://www.lsi.com/cm/License.do?url=&prodName=&subType=Miscellaneous&locale=EN

NOTICE SPECIFIC TO SOFTWARE AVAILABLE ON THIS WEBSITE.  Any software that is
made available to download from this server ("Software") is the copyrighted work
of LSI CORPORATION and/or its suppliers. Use of the Software is governed by the
terms of the end user license agreement, if any, which accompanies or is
included with the Software ("License Agreement"). An end user will be unable to
install any Software that is accompanied by or includes a License Agreement,
unless he or she first agrees to the License Agreement terms.

The Software is made available for downloading solely for use by end users
according to the License Agreement. Any reproduction or redistribution of the
Software not in accordance with the License Agreement is expressly prohibited by
law and may result in severe civil and criminal penalties. Violators will be
prosecuted to the maximum extent possible.

WITHOUT LIMITING THE FOREGOING, COPYING OR REPRODUCTION OF THE SOFTWARE TO ANY
OTHER SERVER OR LOCATION FOR FURTHER REPRODUCTION OR REDISTRIBUTION IS EXPRESSLY
PROHIBITED, UNLESS SUCH REPRODUCTION OR REDISTRIBUTION IS EXPRESSLY PERMITTED BY
THE LICENSE AGREEMENT ACCOMPANYING SUCH SOFTWARE.

THE SOFTWARE IS WARRANTED, IF AT ALL, ONLY ACCORDING TO THE TERMS OF THE LICENSE
AGREEMENT. EXCEPT AS WARRANTED IN THE LICENSE AGREEMENT, LSI CORPORATION HEREBY
DISCLAIMS ALL WARRANTIES AND CONDITIONS WITH REGARD TO THE SOFTWARE, INCLUDING
ALL IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT.

FOR YOUR CONVENIENCE, LSI CORPORATION MAY MAKE AVAILABLE ON THIS SERVICE OR IN
ITS SOFTWARE PRODUCTS, TOOLS AND UTILITIES FOR USE AND/OR DOWNLOAD. LSI
CORPORATION DOES NOT MAKE ANY ASSURANCES WITH REGARD TO THE ACCURACY OF THE
RESULTS OR OUTPUT THAT DERIVES FROM SUCH USE OF ANY SUCH TOOLS AND UTILITIES.
PLEASE RESPECT THE INTELLECTUAL PROPERTY RIGHTS OF OTHERS WHEN USING THE TOOLS
AND UTILITIES MADE AVAILABLE ON THIS SERVICE OR IN LSI CORPORATION SOFTWARE
PRODUCTS.

RESTRICTED RIGHTS LEGEND. Any Software which is downloaded from this Server for
or on behalf of the United States of America, its agencies and/or
instrumentalities ("U.S. Government"), is provided with Restricted Rights. Use,
duplication, or disclosure by the U.S. Government is subject to restrictions as
set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and
Computer Software clause at DFARS 252.227-7013 or subparagraphs (c)(1) and (2)
of the Commercial Computer Software - Restricted Rights at 48 CFR 52.227-19, as
applicable. Manufacturer is LSI CORPORATION,---- 1621 Barber Lane, Milpitas, CA
95035.

NOTICE SPECIFIC TO DOCUMENTS AVAILABLE ON THIS WEBSITE.
Permission to use Documents (such as white papers, press releases, datasheets
and FAQs) from this server ("Server") is granted, provided that (1) the below
copyright notice appears in all copies and that both the copyright notice and
this permission notice appear, (2) use of such Documents from this Server is for
informational and non-commercial or personal use only and will not be copied or
posted on any network computer or broadcast in any media and (3) no
modifications of any Documents are made. Educational institutions ( specifically
K-12, universities and state community colleges) may download and reproduce the
Documents for distribution in the classroom. Distribution outside the classroom
requires express written permission. Use for any other purpose is expressly
prohibited by law and may result in severe civil and criminal penalties.
Violators will be prosecuted to the maximum extent possible.

Documents specified above do not include the design or layout of the
lsilogic.com website or any other LSI CORPORATION owned, operated, licensed or
controlled site. Elements of LSI CORPORATION websites are protected by trade
dress, trademark, unfair competition and other laws and may not be copied or
imitated in whole or in part. No logo, graphic, sound or image from any LSI
CORPORATION website may be copied or retransmitted unless expressly permitted by
LSI CORPORATION.

LSI CORPORATION AND/OR ITS RESPECTIVE SUPPLIERS MAKE NO REPRESENTATIONS ABOUT
THE SUITABILITY OF THE INFORMATION CONTAINED IN THE DOCUMENTS AND RELATED
GRAPHICS PUBLISHED ON THIS SERVER FOR ANY PURPOSE. ALL SUCH DOCUMENTS AND
RELATED GRAPHICS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. LSI
CORPORATION AND/OR ITS RESPECTIVE SUPPLIERS HEREBY DISCLAIM ALL WARRANTIES AND
CONDITIONS WITH REGARD TO THIS INFORMATION, INCLUDING ALL IMPLIED WARRANTIES AND
CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND
NON-INFRINGEMENT. IN NO EVENT SHALL LSI CORPORATION AND/OR ITS RESPECTIVE
SUPPLIERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
CONNECTION WITH THE USE OR PERFORMANCE OF INFORMATION AVAILABLE FROM THIS
SERVER.

THE DOCUMENTS AND RELATED GRAPHICS PUBLISHED ON THIS SERVER COULD INCLUDE
TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS. CHANGES ARE PERIODICALLY ADDED
TO THE INFORMATION HEREIN. LSI CORPORATION AND/OR ITS RESPECTIVE SUPPLIERS MAY
MAKE IMPROVEMENTS AND/OR CHANGES IN THE PRODUCT(S) AND/OR THE PROGRAM(S)
DESCRIBED HEREIN AT ANY TIME.

NOTICES AND PROCEDURE FOR MAKING CLAIMS OF COPYRIGHT INFRINGEMENT.
Pursuant to Title 17, United States Code, Section 512(c)(2), notifications of
claimed copyright infringement should be sent to Service Provider's Designated
Agent. ALL INQUIRIES NOT RELEVANT TO THE FOLLOWING PROCEDURE WILL NOT RECEIVE A
RESPONSE.
See Notice and Procedure for Making Claims of Copyright Infringement.

LINKS TO THIRD PARTY SITES.
THE LINKS IN THIS AREA WILL LET YOU LEAVE LSI CORPORATION'S SITE. THE LINKED
SITES ARE NOT UNDER THE CONTROL OF LSI CORPORATION AND LSI CORPORATION IS NOT
RESPONSIBLE FOR THE CONTENTS OF ANY LINKED SITE OR ANY LINK CONTAINED IN A
LINKED SITE, OR ANY CHANGES OR UPDATES TO SUCH SITES. LSI CORPORATION IS NOT
RESPONSIBLE FOR WEBCASTING OR ANY OTHER FORM OF TRANSMISSION RECEIVED FROM ANY
LINKED SITE. LSI CORPORATION IS PROVIDING THESE LINKS TO YOU ONLY AS A
CONVENIENCE, AND THE INCLUSION OF ANY LINK DOES NOT IMPLY ENDORSEMENT BY LSI
CORPORATION OF THE SITE.

UNSOLICITED IDEA SUBMISSION POLICY.
Neither LSI Logic Corporation, nor its employees, agents and/or subsidiaries,
shall accept or consider unsolicited ideas, including but not limited to ideas
for new advertising campaigns, new promotions, new products or technologies,
processes, materials, marketing plans or new product names.  Submission of any
original creative artwork, samples, demos, or other works to LSI Logic
Corporation is expressly prohibited.  In the event a submission including
unsolicited materials of any nature is received by LSI CORPORATION, said
submission shall be destroyed and LSI CORPORATION shall not be liable for any
direct or consequential damages suffered by the sender, nor shall LSI
CORPORATION be under any obligation to treat such material as confidential or
proprietary.  It is expressly understood that the rationale for LSI Logic's
policy on unsolicited idea submission is to prevent a third party from making a
claim of infringement against LSI CORPORATION on the basis of an idea, product,
or other material that is developed by LSI CORPORATION, that may be similar to
or the same as an idea, product, or other material contained in an unsolicited
submission that may have been submitted to and/or received by LSI CORPORATION.

FEEDBACK AND INFORMATION.
ANY FEEDBACK YOU PROVIDE AT THIS SITE SHALL BE DEEMED TO BE NON-CONFIDENTIAL.
LSI CORPORATION IS FREE TO USE SUCH INFORMATION ON AN UNRESTRICTED BASIS.

COPYRIGHT NOTICE. Copyright ©1996-2008 LSI CORPORATION, All rights reserved.
