git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@802
6f19259b-4bc3-4df7-8a09-
765794883524
IN OUT UINTN *TokenNumber\r
)\r
{\r
IN OUT UINTN *TokenNumber\r
)\r
{\r
- UINTN ExTokenNumber;\r
- \r
+ EFI_STATUS Status;\r
+\r
+ Status = EFI_NOT_FOUND;\r
//\r
// Scan the local token space\r
//\r
if (Guid == NULL) {\r
//\r
// Scan the local token space\r
//\r
if (Guid == NULL) {\r
+ if (((*TokenNumber > PEI_NEX_TOKEN_NUMBER) && (*TokenNumber < PEI_LOCAL_TOKEN_NUMBER)) ||\r
+ ((*TokenNumber > (PEI_LOCAL_TOKEN_NUMBER + DXE_NEX_TOKEN_NUMBER)))) {\r
+ return EFI_NOT_FOUND;\r
+ }\r
+ \r
(*TokenNumber)++;\r
if (*TokenNumber > PEI_NEX_TOKEN_NUMBER &&\r
*TokenNumber <= PEI_LOCAL_TOKEN_NUMBER) {\r
(*TokenNumber)++;\r
if (*TokenNumber > PEI_NEX_TOKEN_NUMBER &&\r
*TokenNumber <= PEI_LOCAL_TOKEN_NUMBER) {\r
}\r
\r
if (!PEI_EXMAP_TABLE_EMPTY) {\r
}\r
\r
if (!PEI_EXMAP_TABLE_EMPTY) {\r
- ExTokenNumber = *TokenNumber;\r
- ExTokenNumber = ExGetNextTokeNumber (\r
+ Status = ExGetNextTokeNumber (\r
mPcdDatabase->PeiDb.Init.GuidTable,\r
sizeof(mPcdDatabase->PeiDb.Init.GuidTable),\r
mPcdDatabase->PeiDb.Init.ExMapTable,\r
mPcdDatabase->PeiDb.Init.GuidTable,\r
sizeof(mPcdDatabase->PeiDb.Init.GuidTable),\r
mPcdDatabase->PeiDb.Init.ExMapTable,\r
- if ((ExTokenNumber == PCD_INVALID_TOKEN_NUMBER) &&\r
- !DXE_EXMAP_TABLE_EMPTY\r
- ) {\r
- ExTokenNumber = *TokenNumber;\r
- ExTokenNumber = ExGetNextTokeNumber (\r
+ if (Status == EFI_SUCCESS) {\r
+ return Status;\r
+ }\r
+\r
+ if (!DXE_EXMAP_TABLE_EMPTY) {\r
+ Status = ExGetNextTokeNumber (\r
mPcdDatabase->DxeDb.Init.GuidTable,\r
sizeof(mPcdDatabase->DxeDb.Init.GuidTable),\r
mPcdDatabase->DxeDb.Init.ExMapTable,\r
mPcdDatabase->DxeDb.Init.GuidTable,\r
sizeof(mPcdDatabase->DxeDb.Init.GuidTable),\r
mPcdDatabase->DxeDb.Init.ExMapTable,\r
- *TokenNumber = ExTokenNumber;\r
-\r
- return EFI_SUCCESS;\r
Name = &(StringTable[VariableHead->StringIndex]);\r
VaraiableDefaultBuffer = (UINT8 *) PcdDb + VariableHead->DefaultValueOffset;\r
\r
Name = &(StringTable[VariableHead->StringIndex]);\r
VaraiableDefaultBuffer = (UINT8 *) PcdDb + VariableHead->DefaultValueOffset;\r
\r
- Status = GetHiiVariable (Guid, Name, (VOID*)&Data, &DataSize);\r
+ Status = GetHiiVariable (Guid, Name, &Data, &DataSize);\r
if (Status == EFI_SUCCESS) {\r
if (GetSize == 0) {\r
//\r
if (Status == EFI_SUCCESS) {\r
if (GetSize == 0) {\r
//\r
- IN CONST EFI_GUID *Guid,\r
- IN UINTN TokenNumber,\r
- IN EFI_GUID *GuidTable,\r
- IN UINTN SizeOfGuidTable,\r
- IN DYNAMICEX_MAPPING *ExMapTable,\r
- IN UINTN SizeOfExMapTable\r
+ IN CONST EFI_GUID *Guid,\r
+ IN OUT UINTN *TokenNumber,\r
+ IN EFI_GUID *GuidTable,\r
+ IN UINTN SizeOfGuidTable,\r
+ IN DYNAMICEX_MAPPING *ExMapTable,\r
+ IN UINTN SizeOfExMapTable\r
)\r
{\r
EFI_GUID *MatchGuid;\r
)\r
{\r
EFI_GUID *MatchGuid;\r
\r
MatchGuid = ScanGuid (GuidTable, SizeOfGuidTable, Guid);\r
if (MatchGuid == NULL) {\r
\r
MatchGuid = ScanGuid (GuidTable, SizeOfGuidTable, Guid);\r
if (MatchGuid == NULL) {\r
- return PCD_INVALID_TOKEN_NUMBER;\r
+ return EFI_NOT_FOUND;\r
- if (TokenNumber == PCD_INVALID_TOKEN_NUMBER) {\r
- return ExMapTable[Idx].ExTokenNumber;\r
+ if (*TokenNumber == PCD_INVALID_TOKEN_NUMBER) {\r
+ *TokenNumber = ExMapTable[Idx].ExTokenNumber;\r
+ return EFI_SUCCESS;\r
}\r
\r
for ( ; Idx < SizeOfExMapTable; Idx++) {\r
}\r
\r
for ( ; Idx < SizeOfExMapTable; Idx++) {\r
- if (ExMapTable[Idx].ExTokenNumber == TokenNumber) {\r
+ if (ExMapTable[Idx].ExTokenNumber == *TokenNumber) {\r
Idx++;\r
if (Idx == SizeOfExMapTable) {\r
//\r
// Exceed the length of ExMap Table\r
//\r
Idx++;\r
if (Idx == SizeOfExMapTable) {\r
//\r
// Exceed the length of ExMap Table\r
//\r
- return PCD_INVALID_TOKEN_NUMBER;\r
+ *TokenNumber = PCD_INVALID_TOKEN_NUMBER;\r
+ return EFI_SUCCESS;\r
} else if (ExMapTable[Idx].ExGuidIndex == GuidTableIdx) {\r
//\r
// Found the next match\r
//\r
} else if (ExMapTable[Idx].ExGuidIndex == GuidTableIdx) {\r
//\r
// Found the next match\r
//\r
- return ExMapTable[Idx].ExTokenNumber;\r
+ *TokenNumber = ExMapTable[Idx].ExTokenNumber;\r
+ return EFI_SUCCESS;\r
} else {\r
//\r
// Guid has been changed. It is the next Token Space Guid.\r
// We should flag no more TokenNumber.\r
//\r
} else {\r
//\r
// Guid has been changed. It is the next Token Space Guid.\r
// We should flag no more TokenNumber.\r
//\r
- return PCD_INVALID_TOKEN_NUMBER;\r
+ *TokenNumber = PCD_INVALID_TOKEN_NUMBER;\r
+ return EFI_SUCCESS;\r
- return PCD_INVALID_TOKEN_NUMBER;\r
+ return EFI_NOT_FOUND;\r
GetHiiVariable (\r
IN EFI_GUID *VariableGuid,\r
IN UINT16 *VariableName,\r
GetHiiVariable (\r
IN EFI_GUID *VariableGuid,\r
IN UINT16 *VariableName,\r
- OUT VOID **VariableData,\r
+ OUT UINT8 **VariableData,\r
OUT UINTN *VariableSize\r
)\r
{\r
UINTN Size;\r
EFI_STATUS Status;\r
OUT UINTN *VariableSize\r
)\r
{\r
UINTN Size;\r
EFI_STATUS Status;\r
\r
Size = 0;\r
Buffer = NULL;\r
\r
Size = 0;\r
Buffer = NULL;\r
);\r
\r
if (Status == EFI_BUFFER_TOO_SMALL) {\r
);\r
\r
if (Status == EFI_BUFFER_TOO_SMALL) {\r
- Buffer = AllocatePool (Size);\r
+ Buffer = (UINT8 *) AllocatePool (Size);\r
\r
ASSERT (Buffer != NULL);\r
\r
\r
ASSERT (Buffer != NULL);\r
\r
GetHiiVariable (\r
IN EFI_GUID *VariableGuid,\r
IN UINT16 *VariableName,\r
GetHiiVariable (\r
IN EFI_GUID *VariableGuid,\r
IN UINT16 *VariableName,\r
- OUT VOID **VariableData,\r
+ OUT UINT8 **VariableData,\r
OUT UINTN *VariableSize\r
)\r
;\r
OUT UINTN *VariableSize\r
)\r
;\r
- IN CONST EFI_GUID *Guid,\r
- IN UINTN TokenNumber,\r
- IN EFI_GUID *GuidTable,\r
- IN UINTN SizeOfGuidTable,\r
- IN DYNAMICEX_MAPPING *ExMapTable,\r
- IN UINTN SizeOfExMapTable\r
+ IN CONST EFI_GUID *Guid,\r
+ IN OUT UINTN *TokenNumber,\r
+ IN EFI_GUID *GuidTable,\r
+ IN UINTN SizeOfGuidTable,\r
+ IN DYNAMICEX_MAPPING *ExMapTable,\r
+ IN UINTN SizeOfExMapTable\r
BOOLEAN Found;\r
\r
if (Guid == NULL) {\r
BOOLEAN Found;\r
\r
if (Guid == NULL) {\r
+ if (*TokenNumber > PEI_NEX_TOKEN_NUMBER) {\r
+ return EFI_NOT_FOUND;\r
+ }\r
(*TokenNumber)++;\r
if (*TokenNumber > PEI_NEX_TOKEN_NUMBER) {\r
*TokenNumber = PCD_INVALID_TOKEN_NUMBER;\r
(*TokenNumber)++;\r
if (*TokenNumber > PEI_NEX_TOKEN_NUMBER) {\r
*TokenNumber = PCD_INVALID_TOKEN_NUMBER;\r