📄 davpagerecl.h
字号:
/* Copyright (c) 1995-2004 Intel Corporation */
/* Intel Confidential */
/* ###########################################################################
### DAV - Direct Access Volume Enhancement to FDI
###
### Module: davrshdr.h - DAV Reserved Header Types & Macros Include File
###
### $Workfile: DavPageRecl.h $
### $Revision: 12 $
### $NoKeywords: $
########################################################################### */
/*
*****************************************************************
* NOTICE OF LICENSE AGREEMENT
*
* This code is provided by Intel Corp., and the use is governed
* under the terms of a license agreement. See license agreement
* for complete terms of license.
*
* YOU MAY ONLY USE THE SOFTWARE WITH INTEL FLASH PRODUCTS. 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.
*****************************************************************
*/
#ifndef __DAV_PAGE_RECLAIM_H__ /* sentry header */
#define __DAV_PAGE_RECLAIM_H__
#if (DIRECT_ACCESS_VOLUME == TRUE)
#include "DavOttTbl.h"
#include "DavCfgTbl.h"
#include "DavRatTbl.h"
#include "DavPin.h"
#include "davext.h"
#include "davmem.h"
/*### Global Declarations
#########################*/
#define DAV_SRAM_OTT_SIZE (DAV_MAX_BLOCKS + OTTTBL_MaxEntries) /* Two Bytes Max */
/*########################################################################*/
/*### Reserved Header */
typedef enum
{
enStartOfPageReclaim,
enInitializeOttRtTables,
enMoveUserObjects,
enRelocateHeaders,
enInitializeRatTable,
enModifyUserObjects,
enPageReclaimOperationComplete,
enAbortPageReclaim
} EnPageReclaimOperation;
typedef enum
{
enPageReclaimFull,
enPageReclaimPartial,
enPageReallocate,
enPageReclaimInPlace
} EnPageReclaimType;
typedef struct
{
EnPageReclaimType reclaimType;
EnPageReclaimOperation startOperation;
UINT32* sramPinEntriesListPtr;
UINT16 sramPinEntries;
OTTTBL_Entry sramOttEntriesList[DAV_SRAM_OTT_SIZE];
UINT16 sramOttEntries;
FDI_Handle relocObjHandle; /* Realloc Operation */
FDI_Handle bkupObjHandle; /* Realloc Operation */
UINT32 desiredPageSize; /* Partal Defrag Operation */
BOOLEAN plrRestart; /* PLR */
} PAGE_RECLAIM_Address;
/* ====================== PUBLIC FUNCTIONS ==================*/
ERR_CODE RECLAIM_PAGE_StartReclaim(PAGE_RECLAIM_Address* aRefPtr);
/*Fix Start:SCR964 */
ERR_CODE RECLAIM_PAGE_CalcBackupGroupParms(UINT16* aTopBlockPtr,
FDI_HandlePtr aTopObjectHandlePtr,
UINT32* aTopObjectSizeInPagesPtr,
UINT32* aGroupSizeInPagesPtr,
UINT16* aBottomBlockPtr,
FDI_HandlePtr aBottomObjectHandlePtr,
BOOLEAN restart);
/*Fix End:SCR964 */
ERR_CODE RECLAIM_PAGE_SetBackupGroupAbsorbStatus(HDR_AbsorbStatusEnum aAbsorbStatus,
BOOLEAN restart);
ERR_CODE RECLAIM_PAGE_RestartEraseBackupGroup(FDI_Handle aRatEntryHandle,
RATTBL_EntryPtr aRatEntryPtr,
UINT16 aTopBlock,
FDI_Handle aTopObjectHandle,
UINT32 aTopObjectSizeInPages,
UINT32 aGroupSizeInPages,
UINT16 aBottomBlock,
FDI_Handle aBottomObjectHandle,
BOOLEAN restart);
ERR_CODE RECLAIM_PAGE_RestartInvalidateOrigObject(FDI_Handle aOrigObjectHandle,
BOOLEAN restart);
ERR_CODE RECLAIM_PAGE_CleanUpBackupAllocation(FDI_Handle aBottomObjectHandle,
UINT32 aGroupSizeInPages,
BOOLEAN restart);
void RECLAIM_PAGE_CalcBackupAllocation(RATTBL_LeaderPtr aRatLeaderPtr,
FDI_HandlePtr aBkupHandlePtr,
UINT32* aBkupSizeInPagesPtr,
BOOLEAN restart);
#endif /* DIRECT_ACCESS_VOLUME */
#endif /* sentrydif */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -