X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=EdkModulePkg%2FUniversal%2FPCD%2FPei%2FPcd.c;h=fe2fa85f4470cbf49a937ad4b9b53fb0af08d3ab;hp=4ae4b27ef496e36c599e714f63d95db37d5376f6;hb=4f914125e83bc2fa88862432b8194c4e2485189f;hpb=3c367f9de6345969bbf70453e74f741acb840cb1 diff --git a/EdkModulePkg/Universal/PCD/Pei/Pcd.c b/EdkModulePkg/Universal/PCD/Pei/Pcd.c index 4ae4b27ef4..fe2fa85f44 100644 --- a/EdkModulePkg/Universal/PCD/Pei/Pcd.c +++ b/EdkModulePkg/Universal/PCD/Pei/Pcd.c @@ -182,7 +182,10 @@ PeiPcdGetSize ( // TokenNumber--; - ASSERT (TokenNumber < PEI_LOCAL_TOKEN_NUMBER); + // EBC compiler is very choosy. It may report warning about comparison + // between UINTN and 0 . So we add 1 in each size of the + // comparison. + ASSERT (TokenNumber + 1 < PEI_LOCAL_TOKEN_NUMBER + 1); Size = (PeiPcdDb->Init.LocalTokenNumberTable[TokenNumber] & PCD_DATUM_TYPE_ALL_SET) >> PCD_DATUM_TYPE_SHIFT; @@ -479,6 +482,10 @@ PeiPcdGetNextToken ( UINTN i; BOOLEAN Found; + if (!FeaturePcdGet (PcdPeiPcdDatabaseTraverseEnabled)) { + return EFI_UNSUPPORTED; + } + if (Guid == NULL) { if (*TokenNumber > PEI_NEX_TOKEN_NUMBER) { return EFI_NOT_FOUND; @@ -570,6 +577,10 @@ PeiPcdGetNextTokenSpace ( UINTN i; BOOLEAN Found; + if (!FeaturePcdGet (PcdPeiPcdDatabaseTraverseEnabled)) { + return EFI_UNSUPPORTED; + } + ASSERT (Guid != NULL); if (PEI_EXMAP_TABLE_EMPTY) {