📄 davgstat.c
字号:
__________________________________________________
State/province
ZIP/postal code___________________________________
Country___________________________________________
EMAIL _________________________
Phone __________________________ Ext______
(Please include your area code or country/city code as
appropriate)
FAX _________________________
Application Details (please tell us about your product,
the flash use, and software use):
_______________________________________________________
_______________________________________________________
_______________________________________________________
Please return COMPLETELY filled out to:
Intel Corporation FAX: 916-356-2803
Intel Flash Software Marketing
FM3-163
1900 Prairie City Road
Folsom, CA 95630
Atten: Flash S/W License
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
***************************************************************************/
/*### Include Files
#########################*/
#include "dav.h"
#if (DIRECT_ACCESS_VOLUME == TRUE)
/*### Local Declarations
#########################*/
/*### Global Declarations
#########################*/
/*### Local Functions
#########################*/
/*### Global Functions
#########################*/
/*##################################################################
### FDI_GetMemoryStatistics
###
### DESCRIPTION:
### This function returns all information about the DAV
### environment in the structure pointed to by the
### memory_stats_ptr. Global tracking variables, reclaim
### level and component specific information like flash block
### size is returned.
###
### PARAMETERS:
### memory_stats_ptr - IN: Not used.
### OUT: memory_stats_ptr is updated with
### the global DAV tracking variables.
###
### RETURNS:
### ERR_INIT if initialization is not complete yet,
### otherwise return ERR_NONE.
###*/
ERR_CODE FDI_GetMemoryStatistics( FDI_MemoryStatisticsPtr memory_stats_ptr )
{
FDI_MemoryStatisticsPtr mem_stats_ptr;
UINT32 dummy_dword;
/* Check for completion of Initialization, */
/* and if not yet complete return the proper error code. */
if (FDI_InitializationComplete != TRUE)
{
return ERR_INIT;
}
/* Multitasking API exclusivity. (This may not be necessary to the
full extent as it is done here, but for now it is the safest way.) */
FDI_APILock();
HDR_CalcMemoryStatistics(FALSE);
mem_stats_ptr = memory_stats_ptr;
mem_stats_ptr->TotalFlashMem = FDI_TotalFlashSpace;
mem_stats_ptr->TotalObjectSpace = FDI_TotalObjectSpace;
mem_stats_ptr->FlashBlockSize = FDI_BlockSize;
mem_stats_ptr->PageSize = FDI_PageSize;
mem_stats_ptr->NumReclaimBlks = FDI_ReservedReclaimBlocks;
mem_stats_ptr->NumSystemBlks = FDI_ReservedSystemBlocks;
mem_stats_ptr->MemUsage.PageOverhead.Valid =
FDI_MemUsage.PageOverhead.Valid;
mem_stats_ptr->MemUsage.PageOverhead.Invalid =
FDI_MemUsage.PageOverhead.Invalid;
mem_stats_ptr->MemUsage.PageOverhead.Absorbed =
FDI_MemUsage.PageOverhead.Absorbed;
mem_stats_ptr->MemUsage.PageOverhead.ReclaimReserves =
FDI_MemUsage.PageOverhead.ReclaimReserves;
mem_stats_ptr->MemUsage.ParaOverhead.Valid =
FDI_MemUsage.ParaOverhead.Valid;
mem_stats_ptr->MemUsage.ParaOverhead.Invalid =
FDI_MemUsage.ParaOverhead.Invalid;
mem_stats_ptr->MemUsage.ParaOverhead.Absorbed =
FDI_MemUsage.ParaOverhead.Absorbed;
mem_stats_ptr->MemUsage.ParaOverhead.ReclaimReserves =
FDI_MemUsage.ParaOverhead.ReclaimReserves;
mem_stats_ptr->MemUsage.PageSpace.Free =
FDI_MemUsage.PageSpace.Free;
mem_stats_ptr->MemUsage.PageSpace.Valid =
FDI_MemUsage.PageSpace.Valid;
mem_stats_ptr->MemUsage.PageSpace.Invalid =
FDI_MemUsage.PageSpace.Invalid;
mem_stats_ptr->MemUsage.PageSpace.Reserves =
FDI_MemUsage.PageSpace.Reserves;
mem_stats_ptr->MemUsage.ParaSpace.Free =
FDI_MemUsage.ParaSpace.Free;
mem_stats_ptr->MemUsage.ParaSpace.Valid =
FDI_MemUsage.ParaSpace.Valid;
mem_stats_ptr->MemUsage.ParaSpace.Invalid =
FDI_MemUsage.ParaSpace.Invalid;
mem_stats_ptr->MemUsage.ParaSpace.Reserves =
FDI_MemUsage.ParaSpace.Reserves;
mem_stats_ptr->MemUsage.ParaSpace.ReservesInUse =
FDI_MemUsage.ParaSpace.ReservesInUse;
mem_stats_ptr->MemUsage.PageSpace.ReservesInUse =
FDI_MemUsage.PageSpace.ReservesInUse;
mem_stats_ptr->SystemState = FDI_SystemState;
mem_stats_ptr->ReclaimLevel = FDI_ReclaimLevel;
ALLOC_CalcFreePageSpace(&mem_stats_ptr->MemUsage.PageSpace.Free,
&dummy_dword);
ALLOC_CalcFreeParaSpace(&mem_stats_ptr->MemUsage.ParaSpace.Free,
&dummy_dword);
FDI_APIUnlock();
return ERR_NONE;
}
#endif /* DIRECT_ACCESS_VOLUME */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -