// as the array index.\r
//\r
TokenNumber--;\r
- ASSERT (TokenNumber < PEI_NEX_TOKEN_NUMBER);\r
+ ASSERT (TokenNumber + 1 < PEI_NEX_TOKEN_NUMBER + 1);\r
} else {\r
TokenNumber = GetExPcdTokenNumber (Guid, ExTokenNumber);\r
\r
// as the array index.\r
//\r
TokenNumber--;\r
- ASSERT (TokenNumber < PEI_LOCAL_TOKEN_NUMBER);\r
+ // EBC compiler is very choosy. It may report warning about comparison\r
+ // between UINTN and 0 . So we add 1 in each size of the \r
+ // comparison.\r
+ ASSERT (TokenNumber + 1 < PEI_LOCAL_TOKEN_NUMBER + 1);\r
}\r
\r
\r
switch (LocalTokenNumber & PCD_TYPE_ALL_SET) {\r
case PCD_TYPE_VPD:\r
Value = (UINT8 *) &(((VPD_HEAD *) Value)[i]);\r
- return ((Value - (UINT8 *) PeiPcdDb) | PCD_TYPE_VPD);\r
+ return (UINT32) ((Value - (UINT8 *) PeiPcdDb) | PCD_TYPE_VPD);\r
\r
case PCD_TYPE_HII:\r
Value = (UINT8 *) &(((VARIABLE_HEAD *) Value)[i]);\r
- return ((Value - (UINT8 *) PeiPcdDb) | PCD_TYPE_HII);\r
+ return (UINT32) ((Value - (UINT8 *) PeiPcdDb) | PCD_TYPE_HII);\r
\r
case PCD_TYPE_STRING:\r
Value = (UINT8 *) &(((STRING_HEAD *) Value)[i]);\r
- return ((Value - (UINT8 *) PeiPcdDb) | PCD_TYPE_STRING);\r
+ return (UINT32) ((Value - (UINT8 *) PeiPcdDb) | PCD_TYPE_STRING);\r
\r
case PCD_TYPE_DATA:\r
Value += Size * i;\r
- return (Value - (UINT8 *) PeiPcdDb);\r
+ return (UINT32) (Value - (UINT8 *) PeiPcdDb);\r
\r
default:\r
ASSERT (FALSE);\r
\r
VOID\r
InvokeCallbackOnSet (\r
- UINT32 ExTokenNumber,\r
+ UINTN ExTokenNumber,\r
CONST EFI_GUID *Guid, OPTIONAL\r
UINTN TokenNumber,\r
VOID *Data,\r
//\r
TokenNumber--;\r
\r
- if (Guid == NULL)\r
- ASSERT (TokenNumber < PEI_LOCAL_TOKEN_NUMBER);\r
+ if (Guid == NULL) {\r
+ // EBC compiler is very choosy. It may report warning about comparison\r
+ // between UINTN and 0 . So we add 1 in each size of the \r
+ // comparison.\r
+ ASSERT (TokenNumber + 1 < PEI_LOCAL_TOKEN_NUMBER + 1);\r
+ }\r
\r
GuidHob = GetFirstGuidHob (&gPcdPeiCallbackFnTableHobGuid);\r
ASSERT (GuidHob != NULL);\r
//\r
TokenNumber--;\r
\r
- ASSERT (TokenNumber < PEI_LOCAL_TOKEN_NUMBER);\r
+ // EBC compiler is very choosy. It may report warning about comparison\r
+ // between UINTN and 0 . So we add 1 in each size of the \r
+ // comparison.\r
+ ASSERT (TokenNumber + 1 < PEI_LOCAL_TOKEN_NUMBER + 1);\r
\r
PeiPcdDb = GetPcdDatabase ();\r
\r
// For Dynamic EX PCD entry, we have invoked the callback function for Dynamic EX\r
// type PCD entry in ExSetWorker.\r
//\r
- if (TokenNumber < PEI_NEX_TOKEN_NUMBER) {\r
+ if (TokenNumber + 1 < PEI_NEX_TOKEN_NUMBER + 1) {\r
InvokeCallbackOnSet (0, NULL, TokenNumber + 1, Data, *Size);\r
}\r
\r
//\r
TokenNumber--;\r
\r
- ASSERT (TokenNumber < PEI_LOCAL_TOKEN_NUMBER);\r
+ // EBC compiler is very choosy. It may report warning about comparison\r
+ // between UINTN and 0 . So we add 1 in each size of the \r
+ // comparison.\r
+ ASSERT (TokenNumber + 1 < PEI_LOCAL_TOKEN_NUMBER + 1);\r
\r
ASSERT ((GetSize == PeiPcdGetSize(TokenNumber + 1)) || (GetSize == 0));\r
\r
{\r
VPD_HEAD *VpdHead;\r
VpdHead = (VPD_HEAD *) ((UINT8 *)PeiPcdDb + Offset);\r
- return (VOID *) (FixedPcdGet32(PcdVpdBaseAddress) + VpdHead->Offset);\r
+ return (VOID *) (UINTN) (FixedPcdGet32(PcdVpdBaseAddress) + VpdHead->Offset);\r
}\r
\r
case PCD_TYPE_HII:\r
UINTN \r
GetExPcdTokenNumber (\r
IN CONST EFI_GUID *Guid,\r
- IN UINT32 ExTokenNumber\r
+ IN UINTN ExTokenNumber\r
)\r
{\r
UINT32 i;\r