HPMFuncs.h 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /* ***************************************************************
  2. ****************************************************************
  3. ** **
  4. ** (C)Copyright 2012, American Megatrends Inc. **
  5. ** **
  6. ** All Rights Reserved. **
  7. ** **
  8. ** 5555, Oakbrook Parkway, Suite 200, Norcross, **
  9. ** **
  10. ** Georgia - 30093, USA. Phone-(770)-246-8600. **
  11. ** **
  12. ****************************************************************/
  13. /****************************************************************
  14. *
  15. * HPMFuncs.h
  16. * HPM firmware upgrade related functions
  17. *
  18. * Author: Joey Chen <JoeyChen@ami.com.tw>
  19. *
  20. *****************************************************************/
  21. #ifndef HPMFUNCS_H
  22. #define HPMFUNCS_H
  23. #include "Types.h"
  24. #include "IPMI_HPMCmds.h"
  25. #define INVALID_COMPONENT_ID 0xFF
  26. /* HPM Timer relating variables*/
  27. #define HPM_FLASH_SUCCEEDED 1
  28. #define HPM_UPLOAD_BLK_INPROGRESS 2
  29. #define HPM_FLASH_FW_INPROGRESS 3
  30. #define HPM_MSECS_PER_TICK 1000
  31. /* Timer timeouts for diff state*/
  32. #define HPM_UPLOAD_BLK_TIMER_COUNT 60
  33. #define HPM_FLASH_FW_TIMER_COUNT 900
  34. BOOL IsFwUpSupportIfc(int BMCInst);
  35. INT8U GetSelfTestResultByte(INT8U ByteNum, int BMCInst);
  36. HPMStates_E GetFwUpgState(INT8U ComponentID);
  37. void UpdateHPMStatus (INT8U CompCode, INT8U Cmd, INT8U CmdDuration);
  38. int GetHPMStatus (HPMCmdStatus_T *HPMStatus);
  39. BOOL IsCachedComponentID(INT8U ComponentID);
  40. BOOL IsLastHPMCmdCorrect(INT8U LastCmd);
  41. int VerifyImageLength(INT32U ImageLength);
  42. int InitBackupComponents(INT8U Components);
  43. int InitPreComponents(INT8U Components);
  44. int InitUpload(INT8U UpgradeAction, INT8U Component);
  45. int HandleFirmwareBlock(INT8U BlkNum, INT8U *Data, INT16U Len);
  46. int HandleUploadedFirmware(void);
  47. INT8U HandleAbortFirmwareUpgrade(void);
  48. BOOL HandleActivateFirmware(void);
  49. INT8U GetRollbackComponents(void);
  50. int HandleManualRollback(void);
  51. void RevertToInitState(INT8U ComponentID);
  52. INT8U GetHPMActCompsFromBootParam(void);
  53. int SetBootSelectorToBootParam(char image);
  54. void* HPMTimerTask(void *pArg);
  55. void SetHPMFlashStatus(INT8U status);
  56. void SetHPMTimerCnt(INT8U secs);
  57. #endif /* HPMFUNCS_H */