diff options
Diffstat (limited to 'Chipset/eM/ME/MEUD/MEFwUpdLcl/IntelLib')
-rw-r--r-- | Chipset/eM/ME/MEUD/MEFwUpdLcl/IntelLib/FWUpdateLib.h | 566 | ||||
-rw-r--r-- | Chipset/eM/ME/MEUD/MEFwUpdLcl/IntelLib/FWUpdateLib.lib | bin | 0 -> 31840 bytes | |||
-rw-r--r-- | Chipset/eM/ME/MEUD/MEFwUpdLcl/IntelLib/me_status.h | 986 |
3 files changed, 1552 insertions, 0 deletions
diff --git a/Chipset/eM/ME/MEUD/MEFwUpdLcl/IntelLib/FWUpdateLib.h b/Chipset/eM/ME/MEUD/MEFwUpdLcl/IntelLib/FWUpdateLib.h new file mode 100644 index 0000000..062fe89 --- /dev/null +++ b/Chipset/eM/ME/MEUD/MEFwUpdLcl/IntelLib/FWUpdateLib.h @@ -0,0 +1,566 @@ +/*++ + +This file contains a 'Sample Driver' and is licensed as such +under the terms of your license agreement with Intel or your +vendor. This file may be modified by the user, subject to +the additional terms of the license agreement + +--*/ + +/*++ + +Copyright (c) 2009-13 Intel Corporation. All rights reserved +This software and associated documentation (if any) is furnished +under a license and may only be used or copied in accordance +with the terms of the license. Except as permitted by such +license, no part of this software or documentation may be +reproduced, stored in a retrieval system, or transmitted in any +form or by any means without the express written consent of +Intel Corporation. + + +Module Name: + + FwUpdateLib.h + +Abstract: + + FW Update Local Sample Code Header file + +--*/ + +#define INVALID_DATA_FORMAT_VERSION 0 +#define INVALID_MANIFEST_DATA 1 +#define NO_FPT_IMAGE 2 +#define MANIFEST_BUFFER 0x1000 +#define FPT_PARTITION_NAME_FPT 0x54504624 + +//===== +#define bool BOOLEAN + +extern +InitializeLib( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable +); + +void _fltused(); + +typedef UINT32 STATUS; + +typedef struct { + UINT16 Major; + UINT16 Minor; + UINT16 Hotfix; + UINT16 Build; +} FWVersion; + +typedef struct { + FWVersion code; + FWVersion rcvy; +} FlashVersion; + +typedef struct +{ + unsigned long Data1; + unsigned short Data2; + unsigned short Data3; + unsigned char Data4[8]; +} _UUID; + +typedef enum +{ + FWU_ENV_MANUFACTURING = 0, // Manufacturing update + FWU_ENV_IFU, // Independent Firmware update +}FWU_ENVIRONMENT; + +enum errorValues { + FWU_ERROR_SUCCESS, + FWU_IME_NO_DEVICE = 8193, + FWU_UPD_VER_MIS = 8199, + FWU_VER_GET_ERR = 8204, + FWU_CERT_ERR = 8213, + FWU_REBOOT_NEEDED = 8703, + FWU_SKU_MISMATCH, + FWU_VER_MISMATCH, + FWU_SGN_MISMATCH, + FWU_GENERAL, + FWU_UPD_PROCESS, + FWU_NO_MEMORY = 8710, + FWU_AUTH = 8712, + FWU_IMG_HEADER, + FWU_FILE_OPEN, + FWU_HTTP_ERROR, + FWU_USAGE_ERROR, + FWU_HOSTNAME, + FWU_UPDATE_TIMEOUT, + FWU_LOCAL_DIS, + FWU_SECURE_DIS, + FWU_IME_UN_SUP_MESS = 8722, + FWU_NO_UPDATE, + FWU_IME_NOT_READY, + FWU_LAST_STATUS, + FWU_GET_VER_ERR = 8727, + FWU_IME_SMALL_BUFF, + FWU_WSMAN_NO = 8734, + FWU_UNSUPPRT_OS = 8740, + FWU_ERROR_FW, + FWU_HECI, + FWU_UNSUPPRT_PLAT, + FWU_VERIFY_OEM_ID_ERR, + FWU_INVALID_OEM_ID = 8745, + FWU_INVALID_IMG_LENGTH, + FWU_GLBL_BUFF_UNAVAILABLE, + FWU_INVALID_FW_PARAMS, + FWU_AMT_STATUS_INTERNAL_ERROR, + FWU_AMT_STATUS_NOT_READY = 8750, + FWU_AMT_STATUS_INVALID_AMT_MODE, + FWU_AMT_STATUS_INVALID_MESSAGE_LENGTH, + FWU_SAVE_RESTORE_POINT_ERROR, + FWU_FILE_WRITE, + FWU_GET_BLIST_ERROR = 8755, + FWU_CHECK_VERSION_ERROR, + FWU_DISPLAY_FW_VERSION, + FWU_IMAGE_UNDER_VCN, + FWU_IMAGE_VER_HIST_CHK_FAIL, + FWU_DOWNGRADE_VETOED = 8760, + FWU_FW_WRITE_FILE_FAIL, + FWU_FW_READ_FILE_FAIL, + FWU_FW_DELETE_FILE_FAIL, + FWU_PARTITION_LAYOUT_NOT_COMP, + FWU_DOWNGRADE_NOT_ALLOWED_DATA_MISMATCH = 8765, + FWU_UPDATE_PASSWORD_NOT_MATCHED, + FWU_UPDATE_PASSWORD_EXCEED_MAXIMUM_RETRY, + FWU_UPDATE_PASSWORD_NOT_PROVIDED, + FWU_UPDATE_POLLING_FAILED, + FWU_FILE_ALREADY_EXISTS = 8770, + FWU_FILE_INVALID, + FWU_USAGE_ERROR_B, + FWU_AUDIT_POLICY_FAILURE, + FWU_ERROR_CREATING_FT, + FWU_SAL_NOTIFICATION_ERROR = 8775, + FWU_GET_PATTRIB_ERROR, + FWU_GET_UPD_INFO_STATUS, + FWU_PID_NOT_EXPECTED, + FWU_UPDATE_INRECOVERY_MODE_RESTRICT_UPDATE_TO_ATTEMPTED_VERSION, + FWU_BUFFER_COPY_FAILED, + FWU_GET_ME_FWU_INFO, + FWU_APP_REGISTER_OS_FAILURE, + FWU_APP_UNREGISTER_OS_FAILURE, + FWU_INVALID_PARTID, + FWU_LIVE_PING_FAILURE, + FWU_SERVICE_CONNECT_FAILURE, + FWU_SERVICE_NOT_AVAILABLE, + FWU_SERVICE_BUSY, + FWU_USER_NOT_ADMIN, + FWU_WMI_FAIL, + FWU_CHK_BIT_LOCKER_FAIL, + FWU_REG_CMD_FAIL, + FWU_UPDATE_IMAGE_BLACKLISTED, + FWU_DOWNGRADE_NOT_ALLOWED_SVN_RESTRICTION +}; +//===== + + +// below structure is defiend by the fw team +// in fwucommon.h file +typedef struct _UPDATE_FLAGS_LIB +{ + unsigned int RestorePoint:1; // If set indicate restore point + unsigned int RestartOperation:1; // If set indicate restart operation, like lost hard drive etc... + unsigned int UserRollback:1; // indicates user has initiated a rollback + unsigned int Reserve:29; // +}UPDATE_FLAGS_LIB; + +// Used by the tool to perform FULL FW update +typedef enum _UPDATE_TYPE +{ + DOWNGRADE_SUCCESS = 0, + DOWNGRADE_FAILURE, + SAMEVERSION_SUCCESS, + SAMEVERSION_FAILURE, + UPGRADE_SUCCESS, + UPGRADE_PROMPT +}UPDATE_TYPE; + +//Image type to validate the binary sent to update +//For Full Update - only FULL image type is valid +//For Partial Update - only FULL and PARTIAL image type is valid +//FULL Image => Image with Flash Partition Table, FTPR, and NFTPR +//PARTIAL Image => Image with no Flash Partition Table or FTPR or NFTPR, +// only WCOD or LOCL +typedef enum _IMAGE_TYPE +{ + FULL = 0, + PARTIAL, + RESTORE, + INVALID +}IMAGE_TYPE; + +typedef enum _SKU_TYPE { + SKU_1_5_MB = 0, + SKU_5_MB, + SKU_INVALID +}SKU_TYPE; + +//Used by the tool to retrieve FW version information +typedef struct { + unsigned short Major; + unsigned short Minor; + unsigned short Hotfix; + unsigned short Build; +} VersionLib; + +//Should be used by both tool and UNS to retrieve the Updated UPV version +typedef struct _IPU_UPDATED_INFO +{ + unsigned int UpdatedUpvVer;//Version from the update image file that is for updating IPU + unsigned int Reserved[4]; +}IPU_UPDATED_INFO; + +// disable the "zero-sized array" warning +#pragma warning(disable:4200) +typedef enum _FWU_STATUS { + FWU_STATUS_SUCCESS = 0, + FWU_STATUS_NO_MEMORY = 1, + FWU_STATUS_NOT_READY = 2, + FWU_STATUS_ILLEGAL_LENGTH = 3, + FWU_STATUS_AUTHENTICATION_FAILED = 4, + FWU_STATUS_INTERNAL_ERROR = 5, + FWU_STATUS_SKU_FAILURE = 6, + FWU_STATUS_VERSION_FAILURE = 7 +}FWU_STATUS; + +// From FWU_if.h + +#pragma pack(1) + +/** + * FWU_GET_INFO_MESSAGE - get version + * + * @MessageType: FWU_MESSAGE_TYPE_GET_INFO + */ +typedef struct { + UINT32 MessageType; +} FWU_GET_INFO_MESSAGE; + +/** + * FWU_DATA_MESSAGE - data fragment of the image + * + * @MessageType: FWU_MESSAGE_TYPE_DATA + * @Length: The length of the data field, in Little Endian + * @Reserved: Reserved, must be 0 + * @Data: The data of the image fragment + */ +typedef struct { + UINT32 MessageType; + UINT32 Length; + UINT8 Reserved[3]; +#ifndef _DOS + UINT8 Data[0]; +#endif +} FWU_DATA_MESSAGE; + +#pragma pack() + +bool +IsUpdateStatusPending ( + IN UINT32 status +) +/*++ + +Routine Description: + + Checks if ME FW Update client is ready to accept an update + +Arguments: + + +Returns: + + true if ready + +--*/ +; + +unsigned int +CheckPolicyBuffer ( + IN char* buffer, + IN int bufferLength, + IN int AllowSV, + IN UPDATE_TYPE *Upd_Type, + IN VersionLib *ver +) +/*++ + +Routine Description: + + This routine determines if the update is allowed given the ME Upgrade/downgrade/same version policy + +Arguments: + +Returns: + + FWU_ERROR_SUCCESS if operation allowed + +--*/ +; + +unsigned int +FwUpdateFullBuffer ( + IN char *buffer, + IN unsigned int bufferLength, + IN char *_pwd, + IN int _forceResetLib, + IN unsigned int UpdateEnvironment, + IN _UUID OemID, + IN UPDATE_FLAGS_LIB update_flags, + IN void(*func)(float, float) +) +/*++ + +Routine Description: + + This routine sends the buffer to the ME FW Update Client + +Arguments: + +Returns: + + FWU_ERROR_SUCCESS if operation allowed + +--*/ +; + +unsigned int +FWUpdate_QueryStatus_Get_Response ( + IN unsigned int *UpdateStatus, + IN unsigned int *TotalStages, + IN unsigned int *PercentWritten, + IN unsigned int *LastUpdateStatus, + IN unsigned int *LastResetType +) +/*++ + +Routine Description: + + This routine queries the ME Kernel for the update status + +Arguments: + +Returns: + + FWU_ERROR_SUCCESS if operation allowed + +--*/ +; + +bool +VerifyOemId( + IN _UUID id +) +/*++ + +Routine Description: + + The ME FW when created has an OEM ID embedded in it. For security + reasons, we need to verify that the OEM ID of the application (mOemID) + matches the OEM ID of the ME FW. + + NOTE: A connection to the client is required before this routine is + executed. + +Arguments: + + UUID to check + + +Returns: + + true or false indicating if the match was succesfull + +--*/ +; + +EFI_STATUS +GetLastStatus( + OUT UINT32 *LastFwUpdateStatus +) +/*++ + +Routine Description: + + Get the last status of the FW Update Client - this is used to determine if a previous update + requires a reboot + +Arguments: + + UINT32 pointer for results of previous update. + + +Returns: + + EFI Error code + +--*/ +; + +EFI_STATUS +GetLastUpdateResetType ( + OUT UINT32 *LastResetType +)/*++ + +Routine Description: + + Get the last status of the FW Update Client - this is used to determine if a previous update + requires a reboot + +Arguments: + + UINT32 pointer for results of previous update. + + +Returns: + + EFI Error code + +--*/ +; + +EFI_STATUS +GetInterfaces ( + OUT UINT16 *interfaces +) +; + +EFI_STATUS +CheckVersion( + IN UINT8 *FileBuffer, + IN BOOLEAN AllowSV, + OUT FlashVersion *FlashVersion, + OUT UINT32 *LastFwUpdateStatus +) +/*++ + +Routine Description: + + Policy routine to verify if the current FW version is older + than the version in the image. + + The routine will return the result of a previous ME FW Update. If a reset is required + before an update can occur, the return value will indicate it + + NOTE: A connection to the client is required before this routine is + executed. + +Arguments: + + UINT8 pointer to update image + BOOLEAN indicating TRUE for same version update + FlashVersion pointer for return version numbers of FW Update image + UINT32 pointer for results of previous update. + + +Returns: + + EFI_UNSUPPORTED if version is of update image is not supported + +--*/ +; + +EFI_STATUS +StartUpdate( + IN UINT8 *FileBuffer, + IN UINT32 FileLength, + IN CHAR8 *Password, + IN VOID (*DataProgressProc)(), + IN UINT32 DataProgessSteps, + OUT STATUS *FWU_Status +) +/*++ + +Routine Description: + + Start the update process by asking the ME FW Update client + to allocate a buffer for the image. Note that the ME does not update the flash until + the FWU_END message is received. + + If the current ME Flash image is password protected, then that password is required to unlock + the update process + + Because the process of downloading the image is time consuming, a callback is provided for each + chunk of data sent to the ME FW Update client. If desired, the caller can specify the number of steps + that the total data send will have (e.g. 100 means a total of 100 callbacks for the entire duration). The + number of steps supplied will be divided by the total result of (FileLength / Chunksize) + 1. + +Arguments: + + UINT8 pointer to FW Update Image + UINT32 FW Update image length + CHAR16 pointer to password (if no password then NULL) + VOID pointer to callback function (if no callback then NULL) + UINT32 callback steps (1 means each packet sent will trigger a callback) + UINT32 pointer to ME FW Update Client return status + +Returns: + + EFI_STATUS + +--*/ +; + +EFI_STATUS +EndUpdate ( + IN VOID (*EndProgressProc)(), + IN UINT32 EndProgressSteps, + OUT STATUS *FWU_Status +) +/*++ + +Routine Description: + + Send the FWU_END message to the ME after a successful data download. + This operation will request the ME to validate the image and update the + flash. Depending on flash speed, the operation may take serveral minutes + to finish. Be patient... + + Because the process of updating the image is time consuming, a callback is provided each delay (5 seconds) + that occurs waiting for the ME FW Update client to respond. If desired, the caller can specify a number of timeouts before + a callback (e.g. 1 means send wait 5 seconds then invoke the callback routine). + +Arguments: + + VOID pointer to callback function (if no callback then NULL) + UINT32 callback ratio (1 means wait 5 seconds and then trigger a callback) + UINT32 pointer to ME FW Update Client return status + +Returns: + + EFI_STATUS + +--*/ +; + +EFI_STATUS +GetFwFlashVersion( + IN FWVersion *fwVersion +) +/*++ + +Routine Description: + + Get the FW version of the currently running ME FW + + NOTE: A connection to the client is required before this routine is + executed. + +Arguments: + + FWVersion pointer to FW Flash version + +Returns: + + EFI_STATUS + +--*/ +;
\ No newline at end of file diff --git a/Chipset/eM/ME/MEUD/MEFwUpdLcl/IntelLib/FWUpdateLib.lib b/Chipset/eM/ME/MEUD/MEFwUpdLcl/IntelLib/FWUpdateLib.lib Binary files differnew file mode 100644 index 0000000..267f5a6 --- /dev/null +++ b/Chipset/eM/ME/MEUD/MEFwUpdLcl/IntelLib/FWUpdateLib.lib diff --git a/Chipset/eM/ME/MEUD/MEFwUpdLcl/IntelLib/me_status.h b/Chipset/eM/ME/MEUD/MEFwUpdLcl/IntelLib/me_status.h new file mode 100644 index 0000000..5a66448 --- /dev/null +++ b/Chipset/eM/ME/MEUD/MEFwUpdLcl/IntelLib/me_status.h @@ -0,0 +1,986 @@ +/*++ + +INTEL CONFIDENTIAL +Copyright 2005-2013 Intel Corporation All Rights Reserved. + +The source code contained or described herein and all documents +related to the source code ("Material") are owned by Intel Corporation +or its suppliers or licensors. Title to the Material remains with +Intel Corporation or its suppliers and licensors. The Material +contains trade secrets and proprietary and confidential information of +Intel or its suppliers and licensors. The Material is protected by +worldwide copyright and trade secret laws and treaty provisions. No +part of the Material may be used, copied, reproduced, modified, +published, uploaded, posted, transmitted, distributed, or disclosed in +any way without Intel's prior express written permission. + +No license under any patent, copyright, trade secret or other +intellectual property right is granted to or conferred upon you by +disclosure or delivery of the Materials, either expressly, by +implication, inducement, estoppel or otherwise. Any license under such +intellectual property rights must be express and approved by Intel in +writing. + +File Name: + + me_status.h + +Abstract: + + Defines the ME Status codes + +Authors: + + Hemaprabhu Jayanna + +--*/ + +#ifndef _ME_STATUS_H_ +#define _ME_STATUS_H_ + +/////////////////////////////////////////////////////////////////////////////// +// ERROR & STATUS CODE RANGES // +/////////////////////////////////////////////////////////////////////////////// +// RANGE // DESCRIPTION // +/////////////////////////////////////////////////////////////////////////////// +// 0x0000FFFF - 0x00000000 // Pre-defined standard error values used by all // +// // ME Components and interfaces // +/////////////////////////////////////////////////////////////////////////////// +// 0x0001FFFF - 0x00010000 // Capability Module specific error codes // +/////////////////////////////////////////////////////////////////////////////// +// 0xFFFFFFFF - 0x00020000 // Reserved for future use. // +/////////////////////////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////////////////////////// +// KERNEL STATUS AND ERROR CODES // +//The following are the status and error codes returned by the ME Kernel. // +//ThreadX Codes range from (0x00 to 0x7F) // +//Other Kernel codes range from (0x80 to 0xFF) // +/////////////////////////////////////////////////////////////////////////////// + + + + +// +//STATUS_SUCCESS +// The operation completed successfully. +// + +/** + * @brief The operation completed successfully. + */ +#define STATUS_SUCCESS 0x0 + +// +//STATUS_DELETED +// The requested object has been deleted. +// +#define STATUS_DELETED 0x1 + +// +//STATUS_POOL_ERROR +// An invalid memory pool pointer (NULL) was given or the pool is +// already created. +// +#define STATUS_POOL_ERROR 0x2 + +// +//STATUS_PTR_ERROR +// An invalid pointer was provided. +// +#define STATUS_PTR_ERROR 0x3 + +// +//STATUS_WAIT_ERROR +// The specified wait option is invalid. +// +#define STATUS_WAIT_ERROR 0x4 + +// +//STATUS_SIZE_ERROR +// The size of the specified object (memory pool, stack, message queue, +// etc.) is invalid. +// +#define STATUS_SIZE_ERROR 0x5 + +// +//STATUS_GROUP_ERROR +// An invalid group pointer was provided. The pointer is NULL or points +// to an already created group. +// +#define STATUS_GROUP_ERROR 0x6 + +// +//STATUS_NO_EVENTS +// The requested event could not be found. +// +#define STATUS_NO_EVENTS 0x7 + +// +//STATUS_OPTION_ERROR +// Invalid event flag set option (AND, OR). +// +#define STATUS_OPTION_ERROR 0x8 + +// +//STATUS_QUEUE_ERROR +// An invalid queue pointer passed or the queue is already created. +// +#define STATUS_QUEUE_ERROR 0x9 + +// +//STATUS_QUEUE_EMPTY +// The requested queue is empty. +// +#define STATUS_QUEUE_EMPTY 0xA + +// +//STATUS_QUEUE_FULL +// The requested queue is full. +// +#define STATUS_QUEUE_FULL 0xB + +// +//STATUS_SEMAPHORE_ERROR +// An invalid semaphore pointer provided or the semaphore is already created. +// +#define STATUS_SEMAPHORE_ERROR 0xC + +// +//STATUS_NO_INSTANCE +// The requested instance was not found (semaphore count is 0x0). +// +#define STATUS_NO_INSTANCE 0xD + +// +//STATUS_THREAD_ERROR +// An invalid thread control pointer provided or the thread is already created. +// +#define STATUS_THREAD_ERROR 0xE + +// +//STATUS_PRIORITY_ERROR +// An invalid thread priority level has been given. +// +#define STATUS_PRIORITY_ERROR 0xF + +// +//STATUS_START_ERROR +// An invalid auto-start selection was given during thread creation. +// NOTE: This value is the same a as STATUS_NO_MEMORY. +// +#define STATUS_START_ERROR 0x10 + +// +//STATUS_DELETE_ERROR +// The requested object can not be deleted. This can occur if an attempt is +// made to delete a thread that is not in a terminated or completed state. +// +#define STATUS_DELETE_ERROR 0x11 + +// +//STATUS_RESUME_ERROR +// The thread can not be resumed (e.g. the specified thread is not in a +// suspended state or was suspended by a driver other than the RTOS protocol). +// +#define STATUS_RESUME_ERROR 0x12 + +// +//STATUS_CALLER_ERROR +// Invalid caller of this service. +// +#define STATUS_CALLER_ERROR 0x13 + +// +//STATUS_SUSPEND_ERROR +// The thead can not be suspended (e.g. the specified thread is in a +// terminated or completed state). +// +#define STATUS_SUSPEND_ERROR 0x14 + +// +//STATUS_TIMER_ERROR +// An invalid timer object pointer was given. +// +#define STATUS_TIMER_ERROR 0x15 + +// +//STATUS_TICK_ERROR +// An invalid value (0x0) supplied for the initial tick count. +// +#define STATUS_TICK_ERROR 0x16 + +// +//STATUS_ACTIVATE_ERROR +// The object is already active. +// +#define STATUS_ACTIVATE_ERROR 0x17 + +// +//STATUS_THRESH_ERROR +// An invalid preemption threashold was specified. +// +#define STATUS_THRESH_ERROR 0x18 + +// +//STATUS_SUSPEND_LIFTED +// An attempt to resume a thread marked for delayed suspension has +// occurred. +// +#define STATUS_SUSPEND_LIFTED 0x19 + +// +//STATUS_WAIT_ABORTED +// The wait condition on which the thread is waiting has been aborted. +// +#define STATUS_WAIT_ABORTED 0x1A + +// +//STATUS_WAIT_ABORT_ERROR +// An attempt to abort a waiting thread was attempted on a thread that is +// not in a waiting condition (terminated, ready, completed, etc.). +// +#define STATUS_WAIT_ABORT_ERROR 0x1B + +// +//STATUS_MUTEX_ERROR +// An invalid mutex pointer was provided. +// +#define STATUS_MUTEX_ERROR 0x1C + +// +//STATUS_NOT_AVAILABLE +// An attempt to remove a mutex on which a thread is suspended has been +// attempted. +// +#define STATUS_NOT_AVAILABLE 0x1D + +// +//STATUS_NOT_OWNED +// An attempt to access a mutex not owned by the caller was made. +// +#define STATUS_NOT_OWNED 0x1E + +// +//STATUS_INHERIT_ERROR +// An invalid inherit option was given when trying to create a mutex. +// +#define STATUS_INHERIT_ERROR 0x1F + +// +//STATUS_TIMER_RUNNING +// An attempt to set an alarm was made while alarm is already enabled. +// +#define STATUS_TIMER_RUNNING 0x20 + +// +//STATUS_INVALID_FUNCTION +// The requested function was not found. +// +#define STATUS_INVALID_FUNCTION 0x80 + +// +//STATUS_NOT_FOUND +// The requested item could not be found. +// +#define STATUS_NOT_FOUND 0x81 + +// +//STATUS_ACCESS_DENIED +// Access to the requested object could not be granted. +// +#define STATUS_ACCESS_DENIED 0x82 + +// +//STATUS_INVALID_HANDLE +// The provided handle does not exist. +// +#define STATUS_INVALID_HANDLE 0x83 + +// +//STATUS_INVALID_ACCESS +// An attempt was made to access an inaccessible or unavailable object. +// +#define STATUS_INVALID_ACCESS 0x84 + +// +//STATUS_INVALID_PARAMS +// One or more parameters are invalid. +// +#define STATUS_INVALID_PARAMS 0x85 + +// +//STATUS_INVALID_PARAMS +// Request could not be processed because a Power Management event is already +// in progress. +// +#define STATUS_PM_EVENT_IN_PROGRESS 0x86 + +// +//STATUS_WRITE_PROTECTED +// The media is write protected. When writing to flash, this means +// the flash block is write protected. +// +#define STATUS_WRITE_PROTECTED 0x87 + +// +//STATUS_NOT_READY +// The h/w device is not ready. +// +#define STATUS_NOT_READY 0x88 + +// +//STATUS_NOT_SUPPORTED +// The function, message or request is not recognized or supported. +// +#define STATUS_NOT_SUPPORTED 0x89 + +// +//STATUS_NETWORK_BUSY +// The network device is busy. +// +#define STATUS_NETWORK_BUSY 0x8A + +// +//STATUS_DEVICE_ERROR +// The h/w device reported an error while attempting the operation. +// +#define STATUS_DEVICE_ERROR 0x8B + +// +//STATUS_INVALID_ADDRESS +// The address provided in invalid. +// +#define STATUS_INVALID_ADDRESS 0x8C + +// +//STATUS_INVALID_COMMAND +// The requested command is unrecognized or invalid. +// +#define STATUS_INVALID_COMMAND 0x8D + +// +//STATUS_STACK_OVERFLOW +// The request caused a stack overflow. +// +#define STATUS_STACK_OVER_FLOW 0x8E + +// +//STATUS_BUFFER_TOO_SMALL +// The provided buffer is too small to hold the requested data. +// +#define STATUS_BUFFER_TOO_SMALL 0x8F + +// +//STATUS_LOAD_ERROR +// The image failed to load. +// +#define STATUS_LOAD_ERROR 0x90 + +// +//STATUS_INVALID_BUFFER +// The buffer was not the proper size for the request. +// +#define STATUS_INVALID_BUFFER 0x91 + +// +//STATUS_NO_RESPONSE +// No response was received from the requested target. +// +#define STATUS_NO_RESPONSE 0x92 + +// +//STATUS_TIMED_OUT +// The device or object timed out and was unable to complete the request. +// +#define STATUS_TIMED_OUT 0x93 + +// +//STATUS_NOT_STARTED +// The requested operation could not be started. For protocols, this +// error indicates the protocol has not been started. +// +#define STATUS_NOT_STARTED 0x94 + +// +//STATUS_ALREADY_STARTED +// The requested operation has already been started. +// - For protocols, this error +// indicates the protocol has already been started. +// - For Policy Manager this error means +// that the MKHI group ID is already registered. +// For FW update, we only allow one process to do the update at a time, this means error +// case where FW update is already in progress, the current process will have to try later. +// +#define STATUS_ALREADY_STARTED 0x95 + +// +//STATUS_PROTOCOL_ERROR +// The protocol in use has generated an error. For network traffic this error +// means the networking protocol returned and error. When returned from a +// protocol this means the protocol itself generated an error. +// +#define STATUS_PROTOCOL_ERROR 0x96 + +// +//STATUS_INCOMPATIBLE_VERSION +// The version of the object is incompatible with the request. For protocols, +// this indicates that the protocol version number is not supported. +// +#define STATUS_INCOMPATIBLE_VERSION 0x97 + +// +//STATUS_SECURITY_VIOLATION +// A security violation has occurred. +// +#define STATUS_SECURITY_VIOLATION 0x98 + +// +//STATUS_AUTHENTICATION_FAIL +// The authentication of an object has failed. +// +#define STATUS_AUTHENTICATION_FAIL 0x99 + +// +//STATUS_INVALID_MEM_TYPE +// The target memory is invalid for the requested operation (e.g. DMA to +// ROM or cypto DMA from system memory). +// +#define STATUS_INVALID_MEM_TYPE 0x9A + +// +//STATUS_MODE_NOT_SUPPORTED +// The type of blocking mode is not supported. Refer to the documentation on +// the specific interface. +// +#define STATUS_MODE_NOT_SUPPORTED 0x9B + +// +//STATUS_RESOURCE_BUSY +// The requested resource is busy or can not be acquired. +// +#define STATUS_RESOURCE_BUSY 0x9C + +// +//STATUS_OUT_OF_RESOURCES +// Insufficient resources to perform the request. Used by components operating +// in non-blocking mode. A caller will be returned this error when a component +// does not have enough resources like command buffers, PRDs etc... to entertain +// a new request. +// +#define STATUS_OUT_OF_RESOURCES 0x9D + +// +//STATUS_FAILURE +// A unknown error encountered while performing a requested transaction. +// +#define STATUS_FAILURE 0x9E + +// +//STATUS_QUEUED +// A requested has been successfully placed in a command queue. This status +// is returned by non-blocking components after successfully queuing a request +// in their command queue. +// +#define STATUS_QUEUED 0x9F + +// +//STATUS_WEAR_OUT_VIOLATION +// The partition manager returns this error code when it can not perform a +// requested erase operation due to flash wear out constraints. +#define STATUS_WEAR_OUT_VIOLATION 0xA0 + +// +//STATUS_GENERAL_ERROR +// This is a general error code used for errors that do not require a specific +// code. +#define STATUS_GENERAL_ERROR 0xA1 + +// +//STATUS_SMB_EMPTY +// The smbus slave circular buffer does not contain any smbus transactions data. +#define STATUS_SMB_EMPTY 0xA2 + +// +//STATUS_SMB_NO_MORE_ENTRIES +// The smbus slave has reached its maximal number of registered transactions. +// New transactions can not be added until the removal of one of the current +// registered ones. +#define STATUS_SMB_NO_MORE_ENTRIES 0xA3 + +// +//STATUS_BUS_ERROR +// Generic error code for bus errors. Common cause could be losing arbitration +// on a multi-mastered bus. +#define STATUS_BUS_ERROR 0xA4 + +// +//STATUS_IMAGE_INVALID +// The FW Update image content is invalid. +#define STATUS_IMAGE_INVALID 0xA5 + +// +//STATUS_UPDATE_AUTH_FAILED +// The FW Update image authentication failed. +#define STATUS_UPDATE_AUTH_FAILED 0xA6 + +// +//STATUS_UPDATE_ALLOWED +// Used in the policy manager to indicate whether a policy can be updated at +// the time of this request. +#define STATUS_UPDATE_ALLOWED 0xA7 + +// +//STATUS_UPDATE_NOT_ALLOWED +// Used in the policy manager to indicate that a policy cannot be updated at +// the time of this request. +#define STATUS_UPDATE_NOT_ALLOWED 0xA8 + +// +//STATUS_LOCKED +// Indicates policy element has been already locked and cannot be updated. +#define STATUS_LOCKED 0xA9 + +// +//STATUS_NOT_INITIALIZED +// Indicates that SDM core is not initialized +#define STATUS_NOT_INITIALIZED 0xAA //REQUIRES COORDINATION!!! + +// +//STATUS_END_OF_FILE +// Indicates that EOF is reached while accessing a file +#define STATUS_END_OF_FILE 0xAB //REQUIRES COORDINATION!!! + +// +//STATUS_NO_STORAGE_AVAILABLE +// Indicates policy element could not be stored in the NVAR. +#define STATUS_NO_STORAGE_AVAILABLE 0xB0 + +// +//STATUS_LOCKING_NOT_ALLOWED +// Indicates policy element cannot be locked. +#define STATUS_LOCKING_NOT_ALLOWED 0xB1 + +// +//STATUS_UNKNOWN_LAN_FUSE_CAPS +// Indicates a unknown capability of the LAN device is being set. +#define STATUS_UNKNOWN_LAN_FUSE_CAPS 0xB2 + +// +//STATUS_INVALID_FEATURE_ID +// Indicates an invalid feature ID. +#define STATUS_INVALID_FEATURE_ID 0xB3 + +// +//STATUS_PET_TRANSMIT_DISABLED +// The transmission of pet packets is disabled. +#define STATUS_PET_TRANSMIT_DISABLED 0xB4 + +// STATUS_MAX_KERB_DOMAIN_REACHED +// indicates that in the kerberos ACL there are users from MAX DOMAINS (4). +#define STATUS_MAX_KERB_DOMAIN_REACHED 0xB5 + +// STATUS_UPDATE_MISMATCH_HW_SKU +// Indicates that there is a mismatch between the current HW SKU and the +// one in the new image. +#define STATUS_UPDATE_MISMATCH_HW_SKU 0xB6 + +// STATUS_UPDATE_MISMATCH_FW_SKU +// Indicates that there is a mismatch between the current FW SKU and the +// one in the new image. +#define STATUS_UPDATE_MISMATCH_FW_SKU 0xB7 + +// STATUS_UPDATE_MISMATCH_VERSION +// Indicates that there is a mismatch between the current FW version and the +// one in the new image. +#define STATUS_UPDATE_MISMATCH_VERSION 0xB8 + +// STATUS_EVENT_DISABLED_CONFIG +// This wake event is configured to be disabled (via MEBx setup or remote +// configuration). +#define STATUS_EVENT_DISABLED_CONFIG 0xB9 + +// STATUS_NOT_REGISTERED +// Caller is trying to use an interface that requires registration, but the +// registration process has not been completed. +#define STATUS_NOT_REGISTERED 0xBA + + +// STATUS_INVALID_EVENT +// Caller is trying to use a wake event code which is invalid +#define STATUS_INVALID_EVENT 0xBB + +// STATUS_INVALID_EVENT +// Caller is trying to use an event context which is invalid +#define STATUS_BAD_CONTEXT 0xBC + + +// +//STATUS_NET_RESTART_NEEDED +// The network stack need restart to continue working. +#define STATUS_NET_RESTART_NEEDED 0xBD + +// +//STATUS_OUT_OF_MEMORY +// This error can be returned for the following reasons: +// 1.Attempt to allocate memory and no memory is available +// 2.Attempt to free a memory block on which a thread is suspended +// NOTE: This value is the same a as STATUS_START_ERROR. +// +#define STATUS_OUT_OF_MEMORY 0xBE + + +// +//STATUS_COUNTER_ROLLOVER +// This error can be returned by MC_PROTOCOL IncrementCounter() +// if given monotonic counter reaches maximum value. +// Along with error, counter will be initialized with value "1" +// +// The value will also be returned by TIME_PROTOCOL GetPRTC() +// if the PRTC rolls over +#define STATUS_COUNTER_ROLLOVER 0xBF + + +// +// BLOB SERVICE SPECIFIC FAILURES +// +// STATUS_BLOB_INTEGRITY_FAILED +// STATUS_BLOB_CONFIDENTIALITY_FAILED +// STATUS_BLOB_AR_FAILED +#define STATUS_BLOB_INTEGRITY_FAILED 0xC0 +#define STATUS_BLOB_CONFIDENTIALITY_FAILED 0xC1 +#define STATUS_BLOB_AR_FAILED 0xC2 + + + +//STATUS_PROCESSING +// Caller is asking for process result that is not already finished +#define STATUS_PROCESSING 0xC3 + +//STATUS_REGISTERED +// Caller registered for something that itself or others already did +#define STATUS_REGISTERED 0xC4 +// +//STATUS_EAC_NOT_PERMITTED +// This error can be returned for the following reasons: +// 1.Attempt to enable EAC when sign certificate is not set + +// +#define STATUS_EAC_NOT_PERMITTED 0xC5 + +// +//STATUS_EAC_NO_ASSOCIATION +// This error can be returned for the following reasons: +// 1.Attempt to receive a posture or posture hash sign certificate is not set + +// +#define STATUS_EAC_NO_ASSOCIATION 0xC6 + +// +//STATUS_AUDIT_FAIL +// This error can be returned when these conditions are met: +// 1. The action should be logged to the Audit Log +// 2. The event was defined as critical +// 3. The Audit Log is enabled +// 4. Either: +// a. The Audit Log is currently Locked +// b. The storage for the Audit Log is full + +// +#define STATUS_AUDIT_FAIL 0xC7 + +#define STATUS_DUPLICATED 0xC8 + +// +//STATUS_IPP_INTERNAL_ERROR +// This error can bb returned in case of internal IPP function failed. +#define STATUS_IPP_INTERNAL_ERROR 0xC9 + +// +//STATUS_IPP_CORRUPTED_KEY +// This error can be returned when trying to load or validate corrupted RSA key +// using the IPP stack. +// Can be returned RsaEncryptDecrypt and RsaValidateKey functions. +#define STATUS_IPP_CORRUPTED_KEY 0xCA + +// +//STATUS_IPP_DATA_NOT_ALIGNED +// This error can be returned when trying to load, create or validate RSA key using the +// IPP stack, and the data is not aligned. +// Can be returned RsaGenerateKey, RsaEncryptDecrypt and RsaValidateKey functions. +#define STATUS_IPP_DATA_NOT_ALIGNED 0xCB + +// +//STATUS_IPP_OPERATION_ABORTED +// This error will be returned if the IPP aborted key generation before completion. +#define STATUS_IPP_OPERATION_ABORTED 0xCC + +// +//STATUS_IPP_CACHE_CONVERTION_FAILED +// This error can be returned if the TRAMD-Cache conversion failed. +#define STATUS_IPP_CACHE_CONVERTION_FAILED 0xCD + +// +//STATUS_IPP_EXPONENT_CHANGED +// This error will be returned if the IPP decided to use differnt exponent (E) +// than the one the caller supplied. +#define STATUS_IPP_EXPONENT_CHANGED 0xCE + +// STATUS_PERMIT_EXPIRED +// iCLS Permit has expired +#define STATUS_PERMIT_EXPIRED 0xCF + +// STATUS_PERMIT_RESET_REQUIRED +// iCLS permit is invalid in some way (for example expired) +// and HW fuses are overided by permit still +#define STATUS_PERMIT_RESET_REQUIRED 0xD0 + +// STATUS_CLOSED_BY_HOST +// HECI will return this in the event that AddBuffer call is failing because +// the connection is in a close pending status. +// This will indicate that freeing the SendBufferQ and BufferQ is not permitted at +// this time and the client should wait for a HIE_CLOSED message to cleanup HECI_CONNECTION. +#define STATUS_CLOSED_BY_HOST 0xD1 + + +// STATUS_DISABLED_BY_POLICY +// This error will be returned if the call is blocked by previous defined policy +#define STATUS_DISABLED_BY_POLICY 0xD2 + +//STATUS_INVALID_COMP_HANDLE +// The provided component handle does not exist. +// +#define STATUS_INVALID_COMP_HANDLE 0xD3 + +// +//Status Codes used by state manager to indicate ME Database status +//and general Client/Daemon registration problems in state manager +//that prohibit the Daemon from returning more exact status. +// + +// +//STATUS_ALREADY_REGISTERED +// This error is used to indicate if a Daemon is already +// registered with state manager. +#define STATUS_ALREADY_REGISTERED 0xD4 + +// +//STATUS_DATABASE_IN_USE +// This error is used to indicate if a ME Database is currently in +// use when a delete is called on it. +#define STATUS_DATABASE_IN_USE 0xD5 + +// +//STATUS_ENTRY_IN_USE +// This error is used to indicate if an entry in a ME Database is +// currently in use when a release is called on it. +#define STATUS_ENTRY_IN_USE 0xD6 + +// +//STATUS_UNABLE_TO_REGISTER +// This error is used to indicate that a Daemon cannot register +// with state manager. +#define STATUS_UNABLE_TO_REGISTER 0xD7 + +// +// STATUS_TLB_ENTRY_NOT_FOUND +// This error indicates that a free TLB entry or the specified TLB entry +// could not be found. +// +#define STATUS_TLB_ENTRY_NOT_FOUND 0xD8 + +// +//STATUS_UNABLE_TO_UNREGISTER +// This error code is used to indicate that a Daemon cannot +// unregister with the state manager. +#define STATUS_UNABLE_TO_UNREGISTER 0xD9 + +// +//STATUS_TIMER_VALUE_NOT_SET +// Error used by PRTC to indicate the alarm value +// has not been set prior to enabling the alarm. +#define STATUS_TIMER_VALUE_NOT_SET 0xDA + +// +//STATUS_ICV_CHECK_ERROR +// HW reported an ICV check failure +#define STATUS_ICV_CHECK_ERROR 0xDB + +// STATUS_SUCCESS_WITH_ERRORS +// This error will be returned if the opration completed but had some errors (e,eg Transfer AHCI for DT) +// It is shared between Danbury components +#define STATUS_SUCCESS_WITH_ERRORS 0xDC + +// STATUS_SUCCESS_HOST_RESET_REQUIRED +// This status will be returned by FwUpdateMgr after successfully updating FW +// if Danbury is enabled +#define STATUS_SUCCESS_HOST_RESET_REQUIRED 0xDD + +// STATUS_FIPS_FAILURE +// This status will be returned by when FIPS self-tests fail +#define STATUS_FIPS_FAILURE 0xDE + +//STATUS_PRIVILEGE_CHECK +// Privileged component access +#define STATUS_PRIVILEGE_CHECK 0xDF + +// STATUS_INCOMPLETE +// This error indicates that the operation is incomplete +#define STATUS_INCOMPLETE 0xE0 + +// STATUS_RETRY +// This error indicates that the operation is being retried or needs to be retried +#define STATUS_RETRY 0xE1 + +#define STATUS_NOT_RUN 0xE2 + +#define STATUS_NOT_IMPLEMENTED 0xE3 + + +#define STATUS_INVALID_INDEX 0xE4 +#define STATUS_SLOT_IN_USE 0xE5 +#define STATUS_SLOT_EMPTY 0xE6 + +// STATUS_OVERRIDDEN +// This error indicates that the operation can't be performed because +// it was overridden by some other logic/request +#define STATUS_OVERRIDDEN 0xE7 + +//STATUS_PERMIT_IS_DEACTIVE +// iCLS Permit has been deactivated +#define STATUS_PERMIT_IS_DEACTIVE 0xF0 + +//Return this if it is a Patsburg chipset +#define STATUS_UNKNOWN_CPUID 0xF1 + +#define STATUS_CRC_ERROR 0xF2 + +#if 1 +//STATUS for task isolation +#define STATUS_HECI_CONNECTION_ACCEPT 0xF3 +#define STATUS_HECI_CONNECTION_REJECT 0xF4 +#define STATUS_RETURN_NOT_AVAILABLE 0xF5 +#endif +//STATUS for PG +#define STATUS_PG_ENTRY_IN_PROGRESS 0xF6 + +// Intel Secret Key Unavailable +// RCR CCG0100111613 +#define STATUS_BLOB_UNAVAILABLE 0xF6 + +#define STATUS_FPF_READ_MISMATCH 0xF7 +#define STATUS_FPF_ARRAY_FULL 0xF8 +#define STATUS_FPF_WRITE_FAILED 0xF9 +#define STATUS_FPF_FILE_INVALID 0xFA +#define STATUS_FPF_FILE_FULL 0xFB +#define STATUS_FPF_FILE_LOCKED 0xFC +#define STATUS_FPF_NOT_AVAILABLE 0xFD +#define STATUS_FPF_BUSY 0xFE // FPF write currently in progress +#define STATUS_FPF_FATAL_ERROR 0xFF // Fatal error, fuses are no longer valid (bad PCH) +#define STATUS_FPF_FILE_EMPTY 0x100 // File has not been written to +#define STATUS_FPF_ALREADY_COMMITTED 0x101 +#define STATUS_FPF_COMMIT_FAILED_EOM_NOT_SET 0x102 +#define STATUS_FPF_INVALID_SB_VALUES 0x103 +#define STATUS_FPF_NOT_COMMITTED 0x104 +#define STATUS_FPF_NVAR_MISMATCH 0x105 +#define STATUS_FPF_FILE_UNLOCKED 0x106 +#define STATUS_FPF_COMMIT_NOT_ALLOWED 0x107 +#define STATUS_FPF_CANARY_FAILURE 0x108 +#define STATUS_FPF_SENSE_FAILED 0x109 +#if 1 +// STATUS for FWU kernel between 0x200 to 0x2FF +#define FW_UPDATE_STATUS UINT32 + +#define NO_UPDATE 0 +#define STATUS_UPDATE_SUCCESS 0x0 // Zero for sucess anything else is consider failures +#define STATUS_UPDATE_IMAGE_INVALID 0x201 +#define STATUS_UPDATE_INTEGRITY_FAILURE 0x202 +#define STATUS_UPDATE_SKU_MISMATCH 0x203 +#define STATUS_UPDATE_FW_VERSION_MISMATCH 0x204 +#define STATUS_UPDATE_GENERAL_FAILURE 0x205 +#define STATUS_UPDATE_OUT_OF_RESOURCES 0x206 +#define STATUS_UPDATE_AUDIT_POLICY_FAILURE 0x207 +#define STATUS_UPDATE_ERROR_CREATING_FT 0x208 +#define STATUS_UPDATE_SAL_NOTIFICATION_ERROR 0x209 +#define STATUS_UPDATE_IMG_LOADING 0x20A +#define STATUS_UPDATE_IMG_AUTHENTICATING 0x20B +#define STATUS_UPDATE_IMG_PROCESSING 0x20C +#define STATUS_UPDATE_CREATING_FT 0x20D +#define STATUS_UPDATE_UPDATING_CODE 0x20E +#define STATUS_UPDATE_UPDATING_NFT 0x20F +#define STATUS_UPDATE_FLASH_CODE_PARTITION_INVALID 0x210 +#define STATUS_UPDATE_FLASH_NFT_PARTITION_INVALID 0x211 +#define STATUS_UPDATE_ILLEGAL_IMAGE_LENGTH 0x212 +#define STATUS_UPDATE_NOT_READY 0x213 + +#define STATUS_UPDATE_HOST_RESET_REQUIRED 0x214 +#define STATUS_INVALID_GLUT 0x215 +#define STATUS_INVALID_OEM_ID 0x216 + +// New for CPT add below here +#define STATUS_UPDATE_IMAGE_BLACKLISTED 0x217 +#define STATUS_UPDATE_IMAGE_VERSION_HISTORY_CHECK_FAILURE 0x218 +#define STATUS_UPDATE_DOWNGRADE_VETOED 0x219 +#define STATUS_UPDATE_WRITE_FILE_FAILURE 0x22A +#define STATUS_UPDATE_READ_FILE_FAILURE 0x22B +#define STATUS_UPDATE_DELETE_FILE_FAILURE 0x22C +#define STATUS_UPDATE_PARTITION_LAYOUT_NOT_COMPATIBLE 0x22D // FW Update is not possible due to partition move +#define STATUS_DOWNGRADE_NOT_ALLOWED_DATA_MISMATCHED 0x22E +#define STATUS_UPDATE_FW_UPDATE_IS_DISABLED 0x22F +#define STATUS_UPDATE_PASSWORD_NOT_MATCHED 0x230 +#define STATUS_UPDATE_PASSWORD_EXCEED_MAXIMUM_RETRY 0x231 +#define STATUS_UPDATE_INRECOVERY_MODE_RESTRICT_UPDATE_TO_ATTEMPTED_VERSION 0x232 // They have to update with the same image that they started with. + + +// New for Partial FW update +#define STATUS_UPDATE_UPV_VERSION_MISMATCHED 0x233 // UPV version mismatched update is not allow +#define STATUS_UPDATE_INSTID_IS_NOT_EXPECTED_ID 0x234 // Reject update, instance ID sent is not one of expected ID +#define STATUS_UPDATE_INFO_NOT_AVAILABLE 0x235 // While in the middle of update IPU attrib info will bot be available +#define STATUS_UPDATE_REJ_IPU_FULL_UPDATE_NEEDED 0x236 // Can't do IPU update while we are in Full recovery mode. +#define STATUS_UPDATE_IPU_NAMEID_NOT_FOUND 0x237 // IPU name not found when compare with UPV extension + +#define STATUS_UPDATE_RESTORE_POINT_INVALID 0x238 +#define STATUS_UPDATE_RESTORE_POINT_VALID_BUT_NOT_LATEST 0x239 +#define STATUS_UPDATE_RESTORE_POINT_OPERATION_NOT_ALLOWED 0x23A +#define STATUS_DOWNGRADE_NOT_ALLOWED_SVN_RESTRICTION 0x23B +#define STATUS_DOWNGRADE_NOT_ALLOWED_VCN_RESTRICTION 0x23C +#define STATUS_INVALID_SVN 0x23D +#define STATUS_UPDATE_OUT_OF_SVN_RESOURCES 0x23E +#define STATUS_UPDATE_REJECT_RESTORE_POINT_REQUEST_FLASH_IN_RECOVERY 0x23F +#define STATUS_UPDATE_REJECTED_BY_UPDATE_POLICY 0x240 +#define STATUS_UPDATE_REJECTED_INCOMPATIBLE_TOOL_USAGE 0x241 +#define STATUS_UPDATE_REJECTED_CROSSPOINT_UPDATE_NOT_ALLOWED 0x242 +#define STATUS_UPDATE_REJECTED_CROSSHOTFIX_UPDATE_NOT_ALLOWED 0x243 +#define STATUS_UPDATE_REJECTED_CURRENT_FW_NOT_ELIGIBLE_FOR_UPDATE 0x244 +#define STATUS_UPDATE_REJECTED_WRONG_UPDATE_OPERATION 0x245 +#define STATUS_UPDATE_REJECTED_WRONG_UPDATE_IMAGE_FOUND 0x246 +#define STATUS_UPDATE_REJECTED_IFR_UPDATE_NOT_ALLOWED 0x247 +#define STATUS_UPDATE_FAILURE_OCCURRED_DURING_ROLLBACK 0x248 + +//......................................................................... +//......................................................................... // Reserve for FWU usage +#define STATUS_UPDATE_LAST_STATUS_CODE 0x2FF + +// Hotham-specific error codes +#define STATUS_HTM_HOST_NOT_RDY 0x300 +#define STATUS_HTM_INTERNAL_ERROR 0x301 +#define STATUS_HTM_REQ_IN_PROGRESS 0x302 +#define STATUS_HTM_RESP_IN_PROGRESS 0x303 +#define STATUS_HTM_INVALID_FRAGMENT 0x304 +#define STATUS_HTM_RESP_NONE_ACTIVE 0x305 +#define STATUS_HTM_NOT_CONNECTED 0x306 +//... +//... Reserved for future use +#define STATUS_HTM_LAST_STATUS_CODE 0x31F + + + + +// means internal FW operation errors +//#define STATUS_UPDATE_UNKNOWN = 0xFFFFFFFF + + +#endif + + +#endif // _ME_STATUS_H_ |