?? initvsb.c
字號:
/*
;# ***********************************************************************
;# * Intel Confidential *
;# * Copyright (C) Intel Corporation 1994-2000 *
;# * All Rights Reserved. *
;# ***********************************************************************
*/
/****************************************************************
* INTEL OEM SOFTWARE LICENSE AGREEMENT
* BETWEEN INTEL CORPORATION AND OEM/Licensee ("You")
* (Rev 10/04/99)
*
* 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 AND ANY
* ACCOMPANYING ITEMS. LICENSEE MUST BE AN ORIGINAL EQUIPMENT
* MANUFACTURER ("OEM") SYSTEM DEVELOPER TO ACQUIRE ANY RIGHTS
* IN THE SOFTWARE UNDER THIS LICENSE AGREEMENT.
*
* LICENSE: Intel Corporation ("Intel") grants the Licensee the
* non-exclusive right to use the software program ("Software")
* in source and / or object code form on the terms set forth
* below. Licensee will not use, copy, modify, rent, sell or
* transfer the Software or any portion thereof, except as
* provided in this Agreement.
*
* USE RESTRICTION:
* THIS ROYALTY FREE LICENSE ALLOWS LICENSEE TO USE THE SOFTWARE
* WITH INTEL FLASH PRODUCTS ONLY. USE OF THE SOFTWARE WITH ANY
* OTHER FLASH PRODUCTS IS EXPRESSLY PROHIBITED UNLESS AND UNTIL
* LICENSEE APPLIES FOR, AND IS GRANTED, IN INTEL'S SOLE DISCRETION.
* A SEPARATE WRITTEN SOFTWARE LICENSE AGREEMENT BETWEEN LICENSEE
* AND INTEL IS NECESSARY BEFORE ANY SUCH USE.
*
* LICENSEE MAY:
* 1. Copy the Software for support, backup or archival purposes;
* 2. Install or distribute the Software in object code form only;
* 3. Install, use, modify, distribute, and/or make or have made
* Derivatives based on the Software subject to the terms and
* conditions in this Agreement;
* 4. Modify and/or use Software source code that Intel provides to
* the Licensee, provided that Licensee does not remove or modify
* the "Compatibility" module, if any, in the Software or in any
* Derivatives and subject to the other restrictions contained
* herein;
* 5. Allow authorized contractors ("Subcontractors") engaged by
* the Licensee for the sole purpose of product development work to
* have access to the Software solely for that purpose.
* Subcontractors do NOT acquire any of the Licensee rights to the
* Software provided in this Agreement.
*
* RESTRICTIONS:
* LICENSEE IS NOT ALLOWED TO:
* 1. Copy, 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 Derivatives;
* 3. Decompile or reverse engineer any Software delivered in
* object code form.
*
* LICENSEE MUST:
* Execute the "Compatibility" module if provided with the
* Software.
*
* TRANSFER: Except as provided above, Licensee 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. Licensee will not remove
* the copyright notice from the Software. Licensee agrees
* to prevent the unauthorized copying of the Software.
*
* DERIVATIVES: "Derivatives" are any work that is based upon the
* Software, such as a revision, modification, translation, or
* compilation in which the Software is recast, transformed or
* adapted; any adaptation, subset, addition, improvement or
* combination of or including the Software; and any new material,
* information or data derived from the Software, including new
* material which may be protectable by copyright, patent or other
* proprietary rights. Licensee is not required to provide Intel
* with a copy of the source or object code for any Derivatives
* created by Licensee. Licensee may use, market, sell, and/or
* distribute Derivatives in object code form only at Licensee's own
* risk and expense. Licensee may use, but may not market, sell or
* distribute, source code for any Derivatives, subject to the Use
* Restriction and other restrictions contained in this Agreement.
* Title to Derivatives, other than the portion(s) of the
* Derivatives consisting of any portion of the Software, shall
* remain with Licensee.
*
* CONFIDENTIALITY: Licensee will maintain the confidentiality of
* the source code for the Software with at least the same degree
* of care that Licensee uses to protect Licensee's own confidential
* and proprietary information, but with no less than a reasonable
* degree under the circumstances. Disclosure of source code will
* only be made to Licensee's employees on a need-to-know basis.
* Subject to the licenses granted hereunder, Licensee shall
* maintain the Software source code and all other proprietary
* information relating to the Software in confidence and shall
* not disclose to others any such source code or other Intel
* proprietary information relating to the Software. Any
* Subcontractors to whom Licensee discloses the source code for
* the Software must sign a written confidentiality agreement
* which contains terms regarding the Software no less restrictive
* than those set forth in this Agreement.
*
* WARRANTY: The Software is provided "AS IS". Intel warrants
* that the media on which the Software is furnished will be free
* from defects in material and workmanship for a period of one
* year upon receipt.
*
* THE ABOVE WARRANTIES ARE THE ONLY WARRANTIES OF ANY KIND GIVEN
* BY INTEL UNDER THIS AGREEMENT. INTEL SPECIFICALLY DISCLAIMS ANY
* OTHER WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WARRANTIES OF
* MERCHANTABILITY, NONINFRINGEMENT OR FITNESS FOR ANY PARTICULAR
* PURPOSE.
*
* LIMITATION OF LIABILITY: NEITHER INTEL NOR ITS VENDORS OR AGENTS
* SHALL BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF USE, LOSS OF
* DATA, INTERRUPTION OF BUSINESS, NOR FOR INDIRECT, SPECIAL,
* INCIDENTAL OR CONSEQUENTIAL DAMAGES OF ANY KIND WHETHER UNDER
* THIS AGREEMENT OR OTHERWISE, EVEN IF ADVISED OF THE POSSIBILITY
* OF SUCH DAMAGES.
*
* TERMINATION OF THIS LICENSE: Intel reserves the right to conduct
* or have conducted audits to verify Licensee's compliance with
* this Agreement. Intel may terminate this Agreement at any
* time if Licensee is in breach of any of its terms and conditions.
* Upon termination, Licensee will immediately destroy, and certify
* in writing the destruction of, the Software and return all copies
* of the Software and documentation to Intel.
*
* U.S. GOVERNMENT RESTRICTED RIGHTS: The Software and documentation
* were developed at private expense and are provided with
* "RESTRICTED RIGHTS". Use, duplication or disclosure by the
* Government is subject to restrictions as set forth in
* FAR52.227-14 and DFAR252.227-7013 et seq. or its successor.
*
* EXPORT LAWS: The distribution and export/re-export of the
* Software shall be in compliance with the laws, regulations,
* orders or other restrictions of the U.S. Export Administration
* Regulations.
*
* 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 Licensee's name
* in public relations activities and marketing material after the
* product is publicly announced.
******************************************************************/
/*---------------------------------------------------------------------------
-
- initvsb.c -- Initialize VSB system
-
----------------------------------------------------------------------------*/
#include "datatype.h"
#include "vsb.h"
#include "flashdef.h"
#include "vsbdata.h"
/****************************************************************************
*
* InitializeVSB -- Scan all block in specified component to verify
* correct block attributes and count VSBS
*
* ENTRY -
* BYTE - Component to initialize
* WORD - autoReclaim Enable/Disable before automatic reclaimation
* takes place
*
* EXIT -
* WORD - ERR_NONE ERR_SETUP ERR_FORMAT_INVALID ERR_WRITE
* ERR_ERASE ERR_FLASH_INVALID
*
*****************************************************************************/
WORD InitializeVSB( BYTE ci, /* Component index */
WORD ReclmEnable ) /* Variable to enable autoReclaim */
{
BYTE bi; /* Flash block counter */
WORD RetVal; /* Function return value */
BYTE BlockAttr; /* Block Attribute */
DWORD FlashAddr; /* Physical address of flash data */
BYTE ErasedBlock; /* Current erased block */
BYTE RecoverBlock = 0; /* Block specifing erasing block */
WORD setupTest;
/* MEDIA_INFO temp;*/ /* temporary for FlashDevCompat */
WORD count;
/* E2.3.38 */
BYTE TotalErasedBlocks = 0; /*Counter for number of VSB_FB_ERASED blocks*/
/* E2.3.38 */
extern MEMORY_STATUS status[]; /* GlobalMediaStatistics: */
extern MEMORY_STATUS *status_ptr; /* GlobalMediaStatistics: */
status_ptr=&status[ci]; /* GlobalMediaStatistics: */
status_ptr->clean_sectors=0; /* clean sector count */
status_ptr->dirty_sectors=0; /* dirty sector count */
status_ptr->valid_sectors=0; /* valid sector count */
/*
Test Component size, block size, vsb size combination to
make sure that the maximum logical vsb size does not exceed
the number of bits available in the VAT entry (originally 12)
once the setup has been validated, the next 3 lines can be removed. */
setupTest = MAXIMUM_VSB >> MAXIMUM_LOGICAL_VSB_BITS;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -