BOOLEAN gConnectAllHappened = FALSE;\r
UINTN gCallbackKey;\r
\r
-EFI_HII_DATABASE_PROTOCOL *gHiiDatabase;\r
-EFI_HII_STRING_PROTOCOL *gHiiString;\r
EFI_FORM_BROWSER2_PROTOCOL *gFormBrowser2;\r
-EFI_HII_CONFIG_ROUTING_PROTOCOL *gHiiConfigRouting;\r
\r
FRONT_PAGE_CALLBACK_DATA gFrontPagePrivate = {\r
FRONT_PAGE_CALLBACK_DATA_SIGNATURE,\r
{\r
END_DEVICE_PATH_TYPE,\r
END_ENTIRE_DEVICE_PATH_SUBTYPE,\r
- { \r
+ {\r
(UINT8) (END_DEVICE_PATH_LENGTH),\r
(UINT8) ((END_DEVICE_PATH_LENGTH) >> 8)\r
}\r
OUT EFI_STRING *Results\r
)\r
{\r
+ if (Request == NULL || Progress == NULL || Results == NULL) {\r
+ return EFI_INVALID_PARAMETER;\r
+ }\r
+ *Progress = Request;\r
return EFI_NOT_FOUND;\r
}\r
\r
OUT EFI_STRING *Progress\r
)\r
{\r
+ if (Configuration == NULL || Progress == NULL) {\r
+ return EFI_INVALID_PARAMETER;\r
+ }\r
+\r
+ *Progress = Configuration;\r
+ if (!HiiIsConfigHdrMatch (Configuration, &mBootMaintGuid, mBootMaintStorageName)\r
+ && !HiiIsConfigHdrMatch (Configuration, &mFileExplorerGuid, mFileExplorerStorageName)) {\r
+ return EFI_NOT_FOUND;\r
+ }\r
+\r
+ *Progress = Configuration + StrLen (Configuration);\r
return EFI_SUCCESS;\r
}\r
\r
//\r
Lang = AllocatePool (AsciiStrSize (LanguageString));\r
ASSERT (Lang != NULL);\r
- \r
+\r
Index = 0;\r
LangCode = LanguageString;\r
while (*LangCode != 0) {\r
);\r
ASSERT (PlatformSupportedLanguages != NULL);\r
}\r
- \r
+\r
//\r
// Select the best language in platform supported Language.\r
//\r
CHAR8 *BestLanguage;\r
UINTN OptionCount;\r
CHAR16 *StringBuffer;\r
- UINTN BufferSize;\r
EFI_HII_HANDLE HiiHandle;\r
VOID *OptionsOpCodeHandle;\r
VOID *StartOpCodeHandle;\r
//\r
// Locate Hii relative protocols\r
//\r
- Status = gBS->LocateProtocol (&gEfiHiiDatabaseProtocolGuid, NULL, (VOID **) &gHiiDatabase);\r
- if (EFI_ERROR (Status)) {\r
- return Status;\r
- }\r
-\r
- Status = gBS->LocateProtocol (&gEfiHiiStringProtocolGuid, NULL, (VOID **) &gHiiString);\r
- if (EFI_ERROR (Status)) {\r
- return Status;\r
- }\r
-\r
Status = gBS->LocateProtocol (&gEfiFormBrowser2ProtocolGuid, NULL, (VOID **) &gFormBrowser2);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
\r
- Status = gBS->LocateProtocol (&gEfiHiiConfigRoutingProtocolGuid, NULL, (VOID **) &gHiiConfigRouting);\r
- if (EFI_ERROR (Status)) {\r
- return Status;\r
- }\r
-\r
//\r
// Install Device Path Protocol and Config Access protocol to driver handle\r
//\r
OptionCount = 0;\r
LangCode = LanguageString;\r
FirstFlag = FALSE;\r
- \r
+\r
if (gFrontPagePrivate.LanguageToken == NULL) {\r
while (*LangCode != 0) {\r
GetNextLanguage (&LangCode, Lang);\r
GetNextLanguage (&LangCode, Lang);\r
\r
if (FirstFlag) {\r
- //\r
- // Get Language Name from String Package. The StringId of Printable Language\r
- // Name is always 1 which is generated by StringGather Tool.\r
- //\r
- BufferSize = 0x100;\r
- StringBuffer = AllocatePool (BufferSize);\r
- Status = gHiiString->GetString (\r
- gHiiString,\r
- Lang,\r
- HiiHandle,\r
- PRINTABLE_LANGUAGE_NAME_STRING_ID,\r
- StringBuffer,\r
- &BufferSize,\r
- NULL\r
- );\r
- if (Status == EFI_BUFFER_TOO_SMALL) {\r
- FreePool (StringBuffer);\r
- StringBuffer = AllocatePool (BufferSize);\r
- Status = gHiiString->GetString (\r
- gHiiString,\r
- Lang,\r
- HiiHandle,\r
- PRINTABLE_LANGUAGE_NAME_STRING_ID,\r
- StringBuffer,\r
- &BufferSize,\r
- NULL\r
- );\r
- }\r
- ASSERT_EFI_ERROR (Status);\r
+ StringBuffer = HiiGetString (HiiHandle, PRINTABLE_LANGUAGE_NAME_STRING_ID, Lang);\r
+ ASSERT_EFI_ERROR (StringBuffer != NULL);\r
\r
//\r
// Save the string Id for each language\r
}\r
\r
/**\r
- Convert Processor Frequency Data to a string\r
+ Convert Processor Frequency Data to a string.\r
\r
@param ProcessorFrequency The frequency data to process\r
@param String The string that is created\r
Record = NULL;\r
do {\r
Status = DataHub->GetNextRecord (DataHub, &MonotonicCount, NULL, &Record);\r
+ if (EFI_ERROR (Status) || Record == NULL) {\r
+ break;\r
+ }\r
if (Record->DataRecordClass == EFI_DATA_RECORD_CLASS_DATA) {\r
DataHeader = (EFI_SUBCLASS_TYPE1_HEADER *) (Record + 1);\r
if (CompareGuid (&Record->DataRecordGuid, &gEfiMiscSubClassGuid) &&\r
}\r
\r
DEBUG ((EFI_D_INFO, "\n\nStart showing progress bar... Press any key to stop it! ...Zzz....\n"));\r
- \r
+\r
SetMem (&Foreground, sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL), 0xff);\r
SetMem (&Background, sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL), 0x0);\r
SetMem (&Color, sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL), 0xff);\r
TimeoutRemain = TimeoutDefault;\r
while (TimeoutRemain != 0) {\r
DEBUG ((EFI_D_INFO, "Showing progress bar...Remaining %d second!\n", TimeoutRemain));\r
- \r
+\r
Status = WaitForSingleEvent (gST->ConIn->WaitForKey, ONE_SECOND);\r
if (Status != EFI_TIMEOUT) {\r
break;\r
{\r
EFI_STATUS Status;\r
\r
- PERF_START (0, "BdsTimeOut", "BDS", 0);\r
+ PERF_START (NULL, "BdsTimeOut", "BDS", 0);\r
//\r
// Indicate if we need connect all in the platform setup\r
//\r
// Note: The following lines of code only execute when Auto boot\r
// takes affect\r
//\r
- PERF_END (0, "BdsTimeOut", "BDS", 0);\r
+ PERF_END (NULL, "BdsTimeOut", "BDS", 0);\r
}\r