📄 davevent.h
字号:
/* Copyright (c) 1995-2004 Intel Corporation */
/* Intel Confidential */
/* ###########################################################################
### EVENT
###
### Module: Event Testing Module
###
### $Workfile: davevent.h $
### $Revision: 56 $
### $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 __event_h
#define __event_h
#include "davtpdef.h"
/*### Include Files
//#########################*/
#if (DIRECT_ACCESS_VOLUME == TRUE)
/*
#define ENABLE_EVENT_TESTS
#define ENABLE_EVENT_STATISTICS
*/
#ifdef ENABLE_EVENT_TESTS
/*
#define DISABLE_RECLAIM_FLASH_FAIL
#define ENABLE_SPECIAL_RECLAIM_TEST
*/
#define ENABLE_RECLAIM_TESTS
#define ENABLE_RECRCVR_TESTS
#define ENABLE_REALLOCATE_TESTS
#define ENABLE_CONFIG_HDR_TESTS
#define ENABLE_RECOVER_TESTS
#define ENABLE_HDR_TESTS
#endif
/*### Global Declarations
//#########################*/
typedef enum
{
EVT_MODULE_RECLAIM,
EVT_MODULE_RECRCVR,
EVT_MODULE_REALLOCATE,
EVT_MODULE_CONFIG_HDR,
EVT_MODULE_RECOVER
} EVT_TestModule;
/* V23 - ANSI
typedef struct
{
UINT32 Enable : 1;
UINT32 DisplayId : 1;
UINT32 DisplaySummary : 1;
UINT32 DumpState : 1;
UINT32 BreakPoint : 1;
UINT32 Timer : 1;
UINT32 RandomError : 1;
UINT32 Exit : 1;
UINT32 KeepEnabled : 1;
UINT32 DisableAll : 1;
UINT32 RFU : 6;
} EVT_EventBits;
*/
#define EVT_ENABLE 0x00000001
#define EVT_DISPLAYID 0x00000002
#define EVT_DISPLAYSUMMARY 0x00000004
#define EVT_DUMPSTATE 0x00000008
#define EVT_BREAKPOINT 0x00000010
#define EVT_TIMER 0x00000020
#define EVT_RANDOMERROR 0x00000040
#define EVT_EXIT 0x00000080
#define EVT_KEEPENABLED 0x00000100
#define EVT_DISABLEALL 0x00000200
#define EVT_MASK 0x000003ff
typedef struct
{
UINT32 Event; /* EVT_EventBits Event; */
#ifdef ENABLE_EVENT_STATISTICS
UINT32 TestCount; /* Increments every time event is tested */
UINT32 EventCount; /* Increments only when event is enabled */
#endif
} EVT_EventElement, __FAR_ * EVT_EventElementPtr;
/* V23 end */
typedef enum
{
EVT_RECLAIM_BEGIN,
#ifdef ENABLE_RECLAIM_TESTS
EVT_RECLAIM_StateA,
EVT_RECLAIM_StateB,
EVT_RECLAIM_StateC,
EVT_RECLAIM_StateD,
EVT_RECLAIM_StateE, EVT_RECLAIM_StateE_SP1, EVT_RECLAIM_StateE_SP2,
EVT_RECLAIM_StateF, EVT_RECLAIM_StateF_1,
EVT_RECLAIM_StateF_2, EVT_RECLAIM_StateF_2a, EVT_RECLAIM_StateF_2b,
EVT_RECLAIM_StateF_2c,
EVT_RECLAIM_StateF_3, EVT_RECLAIM_StateF_3a, EVT_RECLAIM_StateF_3b,
EVT_RECLAIM_StateF_3c, EVT_RECLAIM_StateF_3d, EVT_RECLAIM_StateF_3e,
EVT_RECLAIM_StateF_3f, EVT_RECLAIM_StateF_4, EVT_RECLAIM_StateF_4a,
EVT_RECLAIM_StateF_4b,
EVT_RECLAIM_StateF_5, EVT_RECLAIM_StateF_5a, EVT_RECLAIM_StateF_5b,
EVT_RECLAIM_StateF_5c, EVT_RECLAIM_StateF_5d, EVT_RECLAIM_StateF_5e,
EVT_RECLAIM_StateF_6, EVT_RECLAIM_StateF_6a, EVT_RECLAIM_StateF_6b,
EVT_RECLAIM_StateF_6c,
EVT_RECLAIM_StateG,
EVT_RECLAIM_StateH,
EVT_RECLAIM_StateI, EVT_RECLAIM_StateI_SP1,
EVT_RECLAIM_StateJ,
EVT_RECLAIM_StateK,
EVT_RECLAIM_StateL, EVT_RECLAIM_StateL_SP1,
EVT_RECLAIM_RandomFail,
#endif
EVT_RECLAIM_END,
EVT_RECRCVR_BEGIN,
#ifdef ENABLE_RECRCVR_TESTS
EVT_RECRCVR_State1,
EVT_RECRCVR_State1_a,
EVT_RECRCVR_State1_b,
EVT_RECRCVR_State2,
EVT_RECRCVR_State2_a,
EVT_RECRCVR_State2_b,
EVT_RECRCVR_State3,
EVT_RECRCVR_State4,
EVT_RECRCVR_State5,
EVT_RECRCVR_StateA,
EVT_RECRCVR_StateB,
EVT_RECRCVR_StateC,
EVT_RECRCVR_StateD,
EVT_RECRCVR_StateE,
#endif
EVT_RECRCVR_END,
EVT_REALLOCATE_BEGIN,
#ifdef ENABLE_REALLOCATE_TESTS
EVT_RECINPLC_ReclaimInPlace_Start,
EVT_RECINPLC_NoRestart,
EVT_RECINPLC_ProcessBlocks,
EVT_RECINPLC_DeallocateRAT,
EVT_RECINPLC_MarkCFGDone,
EVT_RECINPLC_ProcessBlockState1,
EVT_RECINPLC_ProcessBlockState2,
EVT_RECINPLC_ProcessBlockState3,
EVT_RECINPLC_ProcessBlockState4,
EVT_RECINPLC_ReclaimInPlace_End,
EVT_REALLOC_RandomFail,
#endif
EVT_REALLOCATE_END,
EVT_CONFIG_HDR_BEGIN,
#ifdef ENABLE_CONFIG_HDR_TESTS
EVT_CONFIG_HDR_Reclaim_Start,
EVT_CONFIG_HDR_ReclaimRestart,
EVT_CONFIG_HDR_ClearUniqueIds,
EVT_CONFIG_HDR_MoveToRecBlock,
EVT_CONFIG_HDR_MoveFromRecBlock,
EVT_CONFIG_HDR_SetUniqueIds,
EVT_CONFIG_HDR_MoveHdrState1,
EVT_CONFIG_HDR_MoveHdrState2,
EVT_CONFIG_HDR_MoveHdrState3,
#endif
EVT_CONFIG_HDR_END,
EVT_RECOVER_BEGIN,
#ifdef ENABLE_RECOVER_TESTS
EVT_RECOVER_ValidateSystem_Start,
EVT_RECOVER_ValidateSystem_End,
EVT_RECOVER_RestartParagraphReclaim_Start,
EVT_RECOVER_RestartParagraphReclaim_End,
EVT_RECOVER_RestartPageReclaim_Start,
EVT_RECOVER_RestartPageReclaim_End,
EVT_RECOVER_RestartReAllocate_Start,
EVT_RECOVER_RestartReAllocate_End,
EVT_RECOVER_CheckSystemStatus_Start,
EVT_RECOVER_CheckSystemStatus_End,
EVT_RECOVER_CheckConfigurationHeader_Start,
EVT_RECOVER_RestoreWriteInProgessObjects_Start,
EVT_RECOVER_RestoreWriteInProgessObjects_End,
#endif
EVT_RECOVER_HDR_END,
EVT_FLASH_RandomFail,
#ifdef ENABLE_HDR_TESTS
EVT_HDR_RepairHdr_Start,
EVT_HDR_RepairHdr_AVAIL,
EVT_HDR_RepairHdr_BAD_WIP,
EVT_HDR_RepairHdr_Unknown,
EVT_HDR_RepairHdr_End,
#endif
EVT_TotalEvents
} EVT_TestPointIds;
extern BOOLEAN EVT_CheckPageReclaim;
extern EVT_EventElement EVT_EventList[EVT_TotalEvents];
extern int EVT_PercentageTRUE;
/*### Global Functions
//#########################*/
/* V23 */
#define EVT_IsEnabled(test_point_id) \
(EVT_EventList[test_point_id].Event & EVT_ENABLE)
/* (EVT_EventList[test_point_id].Event.Enable == 1) */
#define EVT_IsDisableAllEvent(test_point_id) \
(EVT_EventList[test_point_id].Event & EVT_DISABLEALL)
/* (EVT_EventList[test_point_id].Event.DisableAll == 1) */
#define EVT_IsKeepEnabledEvent(test_point_id) \
(EVT_EventList[test_point_id].Event & EVT_KEEPENABLED)
/* (EVT_EventList[test_point_id].Event.KeepEnabled == 1) */
#define EVT_IsDisplayIdEvent(test_point_id) \
(EVT_EventList[test_point_id].Event & EVT_DISPLAYID)
/* (EVT_EventList[test_point_id].Event.DisplayId == 1) */
#define EVT_IsDisplaySummaryEvent(test_point_id) \
(EVT_EventList[test_point_id].Event & EVT_DISPLAYSUMMARY)
/* (EVT_EventList[test_point_id].Event.DisplaySummary == 1) */
#define EVT_IsDumpStateEvent(test_point_id) \
(EVT_EventList[test_point_id].Event & EVT_DUMPSTATE)
/* (EVT_EventList[test_point_id].Event.DumpState == 1) */
#define EVT_IsBreakPointEvent(test_point_id) \
(EVT_EventList[test_point_id].Event & EVT_BREAKPOINT)
/* (EVT_EventList[test_point_id].Event.BreakPoint == 1) */
#define EVT_IsTimerEvent(test_point_id) \
(EVT_EventList[test_point_id].Event & EVT_TIMER)
/* (EVT_EventList[test_point_id].Event.Timer == 1) */
#define EVT_IsRandomErrorEvent(test_point_id) \
(EVT_EventList[test_point_id].Event & EVT_RANDOMERROR)
/* (EVT_EventList[test_point_id].Event.RandomError == 1) */
#define EVT_IsExitEvent(test_point_id) \
(EVT_EventList[test_point_id].Event & EVT_EXIT)
/* (EVT_EventList[test_point_id].Event.Exit == 1) */
#define EVT_SetEnabled(test_point_id) \
(EVT_EventList[test_point_id].Event |= EVT_ENABLE)
/* (EVT_EventList[test_point_id].Event.Enable = 1) */
#define EVT_SetDisableAllEvent(test_point_id) \
(EVT_EventList[test_point_id].Event |= EVT_DISABLEALL)
/* (EVT_EventList[test_point_id].Event.DisableAll = 1) */
#define EVT_ClrEnabled(test_point_id) \
(EVT_EventList[test_point_id].Event &= ~EVT_ENABLE)
/* (EVT_EventList[test_point_id].Event.Enable = 0) */
#define EVT_SetKeepEnabledEvent(test_point_id) \
(EVT_EventList[test_point_id].Event |= EVT_KEEPENABLED)
/* (EVT_EventList[test_point_id].Event.KeepEnabled = 1) */
#define EVT_SetDisplayIdEvent(test_point_id) \
(EVT_EventList[test_point_id].Event |= EVT_DISPLAYID)
/* (EVT_EventList[test_point_id].Event.DisplayId = 1) */
#define EVT_SetDisplaySummaryEvent(test_point_id) \
(EVT_EventList[test_point_id].Event |= EVT_DISPLAYSUMMARY)
/* (EVT_EventList[test_point_id].Event.DisplaySummary = 1) */
#define EVT_SetDumpStateEvent(test_point_id) \
(EVT_EventList[test_point_id].Event |= EVT_DUMPSTATE)
/* (EVT_EventList[test_point_id].Event.DumpState = 1) */
#define EVT_SetBreakPointEvent(test_point_id) \
(EVT_EventList[test_point_id].Event |= EVT_BREAKPOINT)
/* (EVT_EventList[test_point_id].Event.BreakPoint = 1) */
#define EVT_SetTimerEvent(test_point_id) \
(EVT_EventList[test_point_id].Event |= EVT_TIMER)
/* (EVT_EventList[test_point_id].Event.Timer = 1) */
#define EVT_SetRandomErrorEvent(test_point_id) \
(EVT_EventList[test_point_id].Event |= EVT_RANDOMERROR)
/* (EVT_EventList[test_point_id].Event.RandomError = 1) */
#define EVT_ClrRandomErrorEvent(test_point_id) \
(EVT_EventList[test_point_id].Event &= ~EVT_RANDOMERROR)
/* (EVT_EventList[test_point_id].Event.RandomError = 0) */
#define EVT_SetExitEvent(test_point_id) \
(EVT_EventList[test_point_id].Event |= EVT_EXIT)
/* (EVT_EventList[test_point_id].Event.Exit = 1) */
/* V23 END */
#ifdef ENABLE_RECLAIM_TESTS
#define EVT_Test4Crash(test_point_id) \
if (EVT_TestEvent(test_point_id)) \
return ERR_CRASH_N_BURN;
#define EVT_CountOccurance(test_point_id) \
EVT_TestEvent(test_point_id);
#else
#define EVT_Test4Crash(test_point_id) {}
#define EVT_CountOccurance(test_point_id) {}
#endif
#ifdef ENABLE_EVENT_TESTS
#include <stdio.h>
extern BOOLEAN EVT_ForcedFailure;
void EVT_DisplayEvents(FILE *fptr);
void EVT_InitEvents(void);
void EVT_SetEvent(EVT_TestPointIds test_point_id,
EVT_EventElementPtr event_ptr);
void EVT_SetAllEvents(EVT_TestPointIds start_id, EVT_TestPointIds end_id,
EVT_EventElementPtr event_ptr);
void EVT_ClearEvent(EVT_EventElementPtr event_ptr);
BOOLEAN EVT_TestEvent(EVT_TestPointIds test_point_id);
BOOLEAN EVT_DisableEvent(EVT_TestPointIds test_point_id);
BOOLEAN EVT_EnableEvent(EVT_TestPointIds test_point_id);
#endif /* ENABLE_EVENT_TESTS */
#endif /* sentry header */
#endif /* DIRECT_ACCESS_VOLUME */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -