📄 plat_api.c
字号:
/****************************************************************************
*** Intel Confidential
*** Copyright (C) Intel Corporation 1994-2002
*** All Rights Reserved.
*** ------------------------------------------------------------------------
***
***
*** Project Name: Persistent Storage Manager (PSM)
***
*** Module Name: Platform Specific Library/Services (PLAT) for Cotulla
***
*** File: PLAT_API.C - External API functions for this module
***
*** File Revision: $Revision:: 2 $
*** $Date:: 10/17/03 10:14a $
*** $Author:: Jcolombo $
***
*** Purpose: Defines all external (API) functions that are
*** used to interface with the Platform Services module.
***
*** $NoKeywords: $
*****************************************************************************
*****************************************************************
* INTEL OEM SOFTWARE LICENSE AGREEMENT (LICENSE.TXT)
*
* BY USING THIS SOFTWARE, YOU ("You" or "Licensee") ARE AGREEING TO BE
* BOUND BY THE TERMS OF THIS AGREEMENT. DO NOT USE THE SOFTWARE UNTIL
* YOU HAVE CAREFULLY READ AND AGREED TO THE FOLLOWING TERMS AND
* CONDITIONS. IF YOU DO NOT AGREE TO THE TERMS OF THIS AGREEMENT,
* PROMPTLY RETURN THE SOFTWARE, PACKAGING, AND ANY ACCOMPANYING ITEMS.
* YOU MUST BE AN ORIGINAL EQUIPMENT MANUFACTURER ("OEM") SYSTEM DEVELOPER
* TO ACQUIRE ANY RIGHTS IN THE SOFTWARE UNDER THIS LICENSE AGREEMENT.
*
* "Source Code" means source code that you receive from Intel under this
* Agreement. "Derived Object Code" means executable code derived from
* Intel Source Code. "Software" means the Intel Source Code and object
* code (unmodified by you) and related documentation that You receive
* from Intel under this Agreement.
*
* LICENSE: Intel Corporation ("Intel") grants You the non-exclusive,
* nontransferable, royalty free right under Intel copyright to:
*
* 1. Reproduce and modify the Software, only for your own development
* and maintenance, provided that You may not modify the Software for
* use with flash products other than Intel Flash memory products;
* 2. Install, use, reproduce and distribute Derived Object Code
* internally, only for Your own development and maintenance purposes;
* 3. Allow authorized contractors ("Subcontractors") engaged by You for
* the sole purpose of product development work to have access to the
* Software and any modified Source Code solely for that purpose.
* Subcontractors do NOT acquire any of Your rights to the Software or
* any modified Source Code provided in this Agreement;
* 4. Distribute Derived Object Code externally to Your bona fide customers
* ("Customers"), provided that You may not distribute Derived Object
* Code for use with flash products other than Intel Flash memory
* products; and
* 5. Copy the Software for Your support, backup or archival purposes.
*
* RESTRICTIONS:
*
* YOU ARE NOT ALLOWED TO:
* 1. Use, copy, modify, rent, sell, license, transfer, disclose or
* distribute the Software, in whole or in part, except as provided for
* in this Agreement;
* 2. Remove or modify the "Compatibility" module, if any, in the Software
* or in any Derived Object Code;
* 3. Decompile or reverse engineer any Software delivered in object code
* form.
*
* THIS ROYALTY FREE LICENSE ALLOWS YOU TO USE THE SOFTWARE WITH INTEL FLASH
* PRODUCTS ONLY. YOUR USE OF THE SOFTWARE WITH ANY OTHER FLASH PRODUCTS IS
* EXPRESSLY PROHIBITED UNLESS AND UNTIL YOU APPLY FOR, AND ARE GRANTED IN
* INTEL'S SOLE DISCRETION, A SEPARATE WRITTEN SOFTWARE LICENSE FROM INTEL
* LICENSING ANY SUCH USE
*
* YOU MUST execute the "Compatibility" module if provided with the Software.
*
* TRANSFER: Except as provided above, You may not transfer or disclose the
* Software to any other party.
*
* OWNERSHIP AND COPYRIGHT OF SOFTWARE: Title to the Software and all copies
* thereof remain with Intel. The Software is copyrighted and is protected
* by United States and international copyright laws. You will not remove
* the copyright notice from the Software. You agree to prevent the
* unauthorized copying of the Software. You are not required to provide
* Intel with a copy of any modified Source Code or Derived Object Code
* created by You. Title to modified Source Code, other than the portion(s)
* of the modified code consisting of any portion of the Software, shall
* remain with You.
*
* Your sale or distribution of Derived Object Code is at Your own risk and
* expense.
*
* CONFIDENTIALITY. Source Code may include trade secrets of Intel. You will
* not disclose or otherwise make any part of Source Code (whether or not
* modified by You) available, in any form, to any person other than Your
* employees whose job performance requires such access. You agree to
* instruct all such employees on these obligations with respect to use,
* copying, protection, and confidentiality of Source Code. Even after this
* Agreement terminates, the obligations of this section shall remain in
* effect until the Source Code rightfully becomes publicly known. You may
* not disclose the terms or existence of this Agreement or use Intel's name
* in any publications, advertisements, or other announcements without Intel's
* prior written consent. You do not have any rights to use Intel's trademarks.
* Any Subcontractors to whom You disclose the Source Code must sign a written
* confidentiality agreement which contains terms regarding the Software no
* less restrictive than those set forth in this Agreement.
*
* NO WARRANTY. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING THE SOFTWARE.
* THE SOFTWARE IS PROVIDED "AS IS". INTEL SPECIFICALLY DISCLAIMS ANY OTHER
* WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WARRANTIES OF MERCHANTABILITY,
* NONINFRINGEMENT OR FITNESS FOR ANY PARTICULAR PURPOSE.
*
* LIMITATION OF LIABILITY. INTEL SHALL NOT BE LIABLE FOR ANY INDIRECT,
* SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGE, NOR ANY LOSS OF PROFITS, LOSS
* OF USE, LOSS OF DATA, INTERRUPTION OF BUSINESS, OF ANY KIND, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGES.
*
* TERMINATION OF THIS LICENSE. You may terminate this Agreement and the
* license granted herein at any time by notifying Intel in writing. Intel
* reserves the right to conduct or have conducted audits to verify Your
* compliance with this Agreement. Intel may terminate this Agreement at any
* time if You are in breach of any of its terms and conditions. If this
* Agreement is terminated for any reason, You will cease distribution of
* Derived Object Code and, at Intel's option and within thirty (30) days
* following termination, either return to Intel or destroy the original and
* all copies of the Software and undistributed copies of Derived Object Code,
* and certify to Intel that they have been destroyed.
*
* U.S. GOVERNMENT RESTRICTED RIGHTS. The Software and documentation were
* developed at private expense and are provided with "RESTRICTED RIGHTS".
* If You distribute Derived Object Code to the U.S. Government or contractor
* You must include the following legend on the distributed copy(ies): "Use,
* duplication, and disclosure by the Government is subject to restrictions
* set forth in FAR 52.227-14, DFARS 252.227-7013 or their successors."
*
* EXPORT LAWS. Source Code and Derived Object Code may be controlled for
* export purposes by the U.S. Government. You will not export, either
* directly or indirectly, any Derived Object Code without first obtaining
* any required license or other approval from the U.S. Department of
* Commerce or any other agency or department of the United States
* Government as required.
*
* ENTIRE AGREEMENT. This is the entire agreement between You and Intel
* relating to this subject matter, and no amendments will be effective
* unless in a writing signed by both parties.
*
* APPLICABLE LAW. This Agreement is governed by the laws of the State of
* Delaware and the United States, including patent and copyright laws.
* Any claim arising out of this Agreement will be brought in Delaware.
*
* Intel reserves the right to use and/or include Your name in
* public relations activities and marketing material and may
* request You to submit endorsements for the Software. If You
* wish to discuss participation in this program, please send a
* fax to 916-356-2803 attn: "Software Marketing" with contact
* information and an Intel representative will contact You.
*
* Revised: 02/16/01
*****************************************************************
*/
/*-------------------------- Start of PLAT_API.C --------------------------*/
/****************************************************************************
*
* Include Files:
*
* PLAT_API.H - All required definitions, prototypes, and external header files
*
****************************************************************************/
#include "PLAT_API.H"
BOOL RAMCACHE_DEBUGGING = FALSE;
BOOL RAMCACHE_DETAILED_DEBUGGING =FALSE;
BOOL REG_TIMING = FALSE;
/* Interrupts control */
extern BOOL Interrupts_Polling_Write;
extern BOOL Interrupts_Polling_Erase;
/* HWRWW control */
extern BOOL Multiple_Partitions;
/* OEM Named IOCTL Semaphore */
TCHAR IOControlMutex[] = TEXT("PSM_Named_Mutex");
/*
* This global is used to control whether any "extra" debug statements
* will come from the idle reclaim task.
*
* True - Enables extra debug statements will be exposed
*
* FALSE - Disables these extra checks.
*/
BOOL Idle_Reclaim_Debug_Msg = FALSE;
/*------------------------------- Constants -------------------------------*/
/*--------------------- External Function Source Code ---------------------*/
/****************************************************************************
*
* "PLAT_DefineArrayParameters"
*
* DESCRIPTION:
* This function supplies platform-specific information to the PSM software
* stack. It is called by the PSM stack during initialization, to retrieve
* information about the location of the flash array, as well as information
* about the size and start offset of the data partition.
*
* Normally, this function just copies the contents of the local OEMInfo
* structure out to the caller's memory space. This procedure is defined
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -