// This function was from from the BdsLib implementation in\r
// IntelFrameworkModulePkg\Library\GenericBdsLib\BdsConnect.c\r
// function name: BdsLibConnectAllEfi\r
+\r
/**\r
This function will connect all current system handles recursively. The\r
connection will finish until every handle's child handle created if it have.\r
NULL,\r
&HandleCount,\r
&HandleBuffer\r
- );\r
+ );\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
@retval EFI_OUT_OF_RESOURCES there was insufficient memory\r
**/\r
EFI_STATUS\r
-LoadDriver(\r
+LoadDriver (\r
IN CONST CHAR16 *FileName,\r
IN CONST BOOLEAN Connect\r
)\r
{\r
- EFI_HANDLE LoadedDriverHandle;\r
- EFI_STATUS Status;\r
- EFI_DEVICE_PATH_PROTOCOL *FilePath;\r
- EFI_LOADED_IMAGE_PROTOCOL *LoadedDriverImage;\r
+ EFI_HANDLE LoadedDriverHandle;\r
+ EFI_STATUS Status;\r
+ EFI_DEVICE_PATH_PROTOCOL *FilePath;\r
+ EFI_LOADED_IMAGE_PROTOCOL *LoadedDriverImage;\r
\r
- LoadedDriverImage = NULL;\r
- FilePath = NULL;\r
- LoadedDriverHandle = NULL;\r
- Status = EFI_SUCCESS;\r
+ LoadedDriverImage = NULL;\r
+ FilePath = NULL;\r
+ LoadedDriverHandle = NULL;\r
+ Status = EFI_SUCCESS;\r
\r
ASSERT (FileName != NULL);\r
\r
//\r
// Fix local copies of the protocol pointers\r
//\r
- Status = CommandInit();\r
- ASSERT_EFI_ERROR(Status);\r
+ Status = CommandInit ();\r
+ ASSERT_EFI_ERROR (Status);\r
\r
//\r
// Convert to DEVICE_PATH\r
//\r
- FilePath = gEfiShellProtocol->GetDevicePathFromFilePath(FileName);\r
+ FilePath = gEfiShellProtocol->GetDevicePathFromFilePath (FileName);\r
\r
if (FilePath == NULL) {\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return (EFI_INVALID_PARAMETER);\r
}\r
\r
//\r
// Use LoadImage to get it into memory\r
//\r
- Status = gBS->LoadImage(\r
- FALSE,\r
- gImageHandle,\r
- FilePath,\r
- NULL,\r
- 0,\r
- &LoadedDriverHandle);\r
-\r
- if (EFI_ERROR(Status)) {\r
+ Status = gBS->LoadImage (\r
+ FALSE,\r
+ gImageHandle,\r
+ FilePath,\r
+ NULL,\r
+ 0,\r
+ &LoadedDriverHandle\r
+ );\r
+\r
+ if (EFI_ERROR (Status)) {\r
//\r
// With EFI_SECURITY_VIOLATION retval, the Image was loaded and an ImageHandle was created\r
// with a valid EFI_LOADED_IMAGE_PROTOCOL, but the image can not be started right now.\r
if (Status == EFI_SECURITY_VIOLATION) {\r
gBS->UnloadImage (LoadedDriverHandle);\r
}\r
- ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_LOAD_NOT_IMAGE), gShellLevel2HiiHandle, FileName, Status);\r
+\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_LOAD_NOT_IMAGE), gShellLevel2HiiHandle, FileName, Status);\r
} else {\r
//\r
// Make sure it is a driver image\r
//\r
- Status = gBS->HandleProtocol (LoadedDriverHandle, &gEfiLoadedImageProtocolGuid, (VOID *) &LoadedDriverImage);\r
+ Status = gBS->HandleProtocol (LoadedDriverHandle, &gEfiLoadedImageProtocolGuid, (VOID *)&LoadedDriverImage);\r
\r
ASSERT (LoadedDriverImage != NULL);\r
\r
- if ( EFI_ERROR(Status)\r
- || ( LoadedDriverImage->ImageCodeType != EfiBootServicesCode\r
- && LoadedDriverImage->ImageCodeType != EfiRuntimeServicesCode)\r
- ){\r
- ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_LOAD_NOT_DRIVER), gShellLevel2HiiHandle, FileName);\r
+ if ( EFI_ERROR (Status)\r
+ || ( (LoadedDriverImage->ImageCodeType != EfiBootServicesCode)\r
+ && (LoadedDriverImage->ImageCodeType != EfiRuntimeServicesCode))\r
+ )\r
+ {\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_LOAD_NOT_DRIVER), gShellLevel2HiiHandle, FileName);\r
\r
//\r
// Exit and unload the non-driver image\r
//\r
- gBS->Exit(LoadedDriverHandle, EFI_INVALID_PARAMETER, 0, NULL);\r
+ gBS->Exit (LoadedDriverHandle, EFI_INVALID_PARAMETER, 0, NULL);\r
Status = EFI_INVALID_PARAMETER;\r
}\r
}\r
\r
- if (!EFI_ERROR(Status)) {\r
+ if (!EFI_ERROR (Status)) {\r
//\r
// Start the image\r
//\r
- Status = gBS->StartImage(LoadedDriverHandle, NULL, NULL);\r
- if (EFI_ERROR(Status)) {\r
- ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_LOAD_ERROR), gShellLevel2HiiHandle, FileName, Status);\r
+ Status = gBS->StartImage (LoadedDriverHandle, NULL, NULL);\r
+ if (EFI_ERROR (Status)) {\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_LOAD_ERROR), gShellLevel2HiiHandle, FileName, Status);\r
} else {\r
- ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_LOAD_LOADED), gShellLevel2HiiHandle, FileName, LoadedDriverImage->ImageBase, Status);\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_LOAD_LOADED), gShellLevel2HiiHandle, FileName, LoadedDriverImage->ImageBase, Status);\r
}\r
}\r
\r
- if (!EFI_ERROR(Status) && Connect) {\r
+ if (!EFI_ERROR (Status) && Connect) {\r
//\r
// Connect it...\r
//\r
- Status = ConnectAllEfi();\r
+ Status = ConnectAllEfi ();\r
}\r
\r
//\r
// clean up memory...\r
//\r
if (FilePath != NULL) {\r
- FreePool(FilePath);\r
+ FreePool (FilePath);\r
}\r
\r
return (Status);\r
}\r
\r
-STATIC CONST SHELL_PARAM_ITEM LoadParamList[] = {\r
- {L"-nc", TypeFlag},\r
- {NULL, TypeMax}\r
- };\r
+STATIC CONST SHELL_PARAM_ITEM LoadParamList[] = {\r
+ { L"-nc", TypeFlag },\r
+ { NULL, TypeMax }\r
+};\r
\r
/**\r
Function for 'load' command.\r
IN EFI_SYSTEM_TABLE *SystemTable\r
)\r
{\r
- EFI_STATUS Status;\r
- LIST_ENTRY *Package;\r
- CHAR16 *ProblemParam;\r
- SHELL_STATUS ShellStatus;\r
- UINTN ParamCount;\r
- EFI_SHELL_FILE_INFO *ListHead;\r
- EFI_SHELL_FILE_INFO *Node;\r
-\r
- ListHead = NULL;\r
- ProblemParam = NULL;\r
- ShellStatus = SHELL_SUCCESS;\r
+ EFI_STATUS Status;\r
+ LIST_ENTRY *Package;\r
+ CHAR16 *ProblemParam;\r
+ SHELL_STATUS ShellStatus;\r
+ UINTN ParamCount;\r
+ EFI_SHELL_FILE_INFO *ListHead;\r
+ EFI_SHELL_FILE_INFO *Node;\r
+\r
+ ListHead = NULL;\r
+ ProblemParam = NULL;\r
+ ShellStatus = SHELL_SUCCESS;\r
\r
//\r
// initialize the shell lib (we must be in non-auto-init...)\r
//\r
- Status = ShellInitialize();\r
- ASSERT_EFI_ERROR(Status);\r
+ Status = ShellInitialize ();\r
+ ASSERT_EFI_ERROR (Status);\r
\r
//\r
// parse the command line\r
//\r
Status = ShellCommandLineParse (LoadParamList, &Package, &ProblemParam, TRUE);\r
- if (EFI_ERROR(Status)) {\r
- if (Status == EFI_VOLUME_CORRUPTED && ProblemParam != NULL) {\r
- ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PROBLEM), gShellLevel2HiiHandle, L"load", ProblemParam);\r
- FreePool(ProblemParam);\r
+ if (EFI_ERROR (Status)) {\r
+ if ((Status == EFI_VOLUME_CORRUPTED) && (ProblemParam != NULL)) {\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_PROBLEM), gShellLevel2HiiHandle, L"load", ProblemParam);\r
+ FreePool (ProblemParam);\r
ShellStatus = SHELL_INVALID_PARAMETER;\r
} else {\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
}\r
} else {\r
//\r
// check for "-?"\r
//\r
- if (ShellCommandLineGetFlag(Package, L"-?")) {\r
- ASSERT(FALSE);\r
- } else if (ShellCommandLineGetRawValue(Package, 1) == NULL) {\r
+ if (ShellCommandLineGetFlag (Package, L"-?")) {\r
+ ASSERT (FALSE);\r
+ } else if (ShellCommandLineGetRawValue (Package, 1) == NULL) {\r
//\r
// we didnt get a single file to load parameter\r
//\r
- ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_FEW), gShellLevel2HiiHandle, L"load");\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_FEW), gShellLevel2HiiHandle, L"load");\r
ShellStatus = SHELL_INVALID_PARAMETER;\r
} else {\r
for ( ParamCount = 1\r
- ; ShellCommandLineGetRawValue(Package, ParamCount) != NULL\r
- ; ParamCount++\r
- ){\r
- Status = ShellOpenFileMetaArg((CHAR16*)ShellCommandLineGetRawValue(Package, ParamCount), EFI_FILE_MODE_READ, &ListHead);\r
- if (!EFI_ERROR(Status)) {\r
- for ( Node = (EFI_SHELL_FILE_INFO *)GetFirstNode(&ListHead->Link)\r
- ; !IsNull(&ListHead->Link, &Node->Link)\r
- ; Node = (EFI_SHELL_FILE_INFO *)GetNextNode(&ListHead->Link, &Node->Link)\r
- ){\r
+ ; ShellCommandLineGetRawValue (Package, ParamCount) != NULL\r
+ ; ParamCount++\r
+ )\r
+ {\r
+ Status = ShellOpenFileMetaArg ((CHAR16 *)ShellCommandLineGetRawValue (Package, ParamCount), EFI_FILE_MODE_READ, &ListHead);\r
+ if (!EFI_ERROR (Status)) {\r
+ for ( Node = (EFI_SHELL_FILE_INFO *)GetFirstNode (&ListHead->Link)\r
+ ; !IsNull (&ListHead->Link, &Node->Link)\r
+ ; Node = (EFI_SHELL_FILE_INFO *)GetNextNode (&ListHead->Link, &Node->Link)\r
+ )\r
+ {\r
//\r
// once we have an error preserve that value, but finish the loop.\r
//\r
- if (EFI_ERROR(Status)) {\r
- LoadDriver(Node->FullName, (BOOLEAN)(ShellCommandLineGetFlag(Package, L"-nc")==FALSE));\r
+ if (EFI_ERROR (Status)) {\r
+ LoadDriver (Node->FullName, (BOOLEAN)(ShellCommandLineGetFlag (Package, L"-nc") == FALSE));\r
} else {\r
- Status = LoadDriver(Node->FullName, (BOOLEAN)(ShellCommandLineGetFlag(Package, L"-nc")==FALSE));\r
+ Status = LoadDriver (Node->FullName, (BOOLEAN)(ShellCommandLineGetFlag (Package, L"-nc") == FALSE));\r
}\r
} // for loop for multi-open\r
- if (EFI_ERROR(Status)) {\r
- ShellCloseFileMetaArg(&ListHead);\r
+\r
+ if (EFI_ERROR (Status)) {\r
+ ShellCloseFileMetaArg (&ListHead);\r
} else {\r
- Status = ShellCloseFileMetaArg(&ListHead);;\r
+ Status = ShellCloseFileMetaArg (&ListHead);\r
}\r
} else {\r
//\r
// no files found.\r
//\r
- ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_FILE_NF), gShellLevel2HiiHandle, L"load", (CHAR16*)ShellCommandLineGetRawValue(Package, ParamCount));\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_FILE_NF), gShellLevel2HiiHandle, L"load", (CHAR16 *)ShellCommandLineGetRawValue (Package, ParamCount));\r
ShellStatus = SHELL_NOT_FOUND;\r
}\r
} // for loop for params\r
ShellCommandLineFreeVarList (Package);\r
}\r
\r
- if (EFI_ERROR(Status) && ShellStatus == SHELL_SUCCESS) {\r
+ if (EFI_ERROR (Status) && (ShellStatus == SHELL_SUCCESS)) {\r
ShellStatus = SHELL_DEVICE_ERROR;\r
}\r
\r