summaryrefslogtreecommitdiffstats
path: root/ShellPkg/Library/UefiShellDriver1CommandsLib/Devices.c
diff options
context:
space:
mode:
authorJaben Carsey <jaben.carsey@intel.com>2014-08-05 23:17:18 +0000
committerjcarsey <jcarsey@6f19259b-4bc3-4df7-8a09-765794883524>2014-08-05 23:17:18 +0000
commit477a79e1eb9cb9fbb035c633bc06144e5e87baed (patch)
treebffcb344a208d3f978efae2c6e934bcf1eee7841 /ShellPkg/Library/UefiShellDriver1CommandsLib/Devices.c
parentae315cc26984d308dbe07b8e01dea7c56a78f79d (diff)
downloadedk2-477a79e1eb9cb9fbb035c633bc06144e5e87baed.tar.gz
edk2-477a79e1eb9cb9fbb035c633bc06144e5e87baed.tar.bz2
edk2-477a79e1eb9cb9fbb035c633bc06144e5e87baed.zip
Updates the logic to allow devices to support SFO output mode
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jaben Carsey <jaben.carsey@intel.com> Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15760 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'ShellPkg/Library/UefiShellDriver1CommandsLib/Devices.c')
-rw-r--r--ShellPkg/Library/UefiShellDriver1CommandsLib/Devices.c52
1 files changed, 36 insertions, 16 deletions
diff --git a/ShellPkg/Library/UefiShellDriver1CommandsLib/Devices.c b/ShellPkg/Library/UefiShellDriver1CommandsLib/Devices.c
index 7998bde8c6..afabc8a698 100644
--- a/ShellPkg/Library/UefiShellDriver1CommandsLib/Devices.c
+++ b/ShellPkg/Library/UefiShellDriver1CommandsLib/Devices.c
@@ -1,7 +1,7 @@
/** @file
Main file for devices shell Driver1 function.
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -203,8 +203,11 @@ ShellCommandRunDevices (
//
// Print Header
+ // only in non SFO mode.
//
- ShellPrintHiiEx(-1, -1, Language, STRING_TOKEN (STR_DEVICES_HEADER_LINES), gShellDriver1HiiHandle);
+ if (!ShellCommandLineGetFlag(Package, L"-sfo")){
+ ShellPrintHiiEx(-1, -1, Language, STRING_TOKEN (STR_DEVICES_HEADER_LINES), gShellDriver1HiiHandle);
+ }
//
// loop through each handle
@@ -222,20 +225,37 @@ ShellCommandRunDevices (
Name = NULL;
Status = GetDeviceHandleInfo(*HandleListWalker, &Type, &Cfg, &Diag, &Parents, &Devices, &Children, &Name, Language);
if (Name != NULL && (Parents != 0 || Devices != 0 || Children != 0)) {
- ShellPrintHiiEx(
- -1,
- -1,
- Language,
- STRING_TOKEN (STR_DEVICES_ITEM_LINE),
- gShellDriver1HiiHandle,
- ConvertHandleToHandleIndex(*HandleListWalker),
- Type,
- Cfg?L'X':L'-',
- Diag?L'X':L'-',
- Parents,
- Devices,
- Children,
- Name!=NULL?Name:L"<UNKNOWN>");
+ if (!ShellCommandLineGetFlag(Package, L"-sfo")){
+ ShellPrintHiiEx(
+ -1,
+ -1,
+ Language,
+ STRING_TOKEN(STR_DEVICES_ITEM_LINE),
+ gShellDriver1HiiHandle,
+ ConvertHandleToHandleIndex(*HandleListWalker),
+ Type,
+ Cfg?L'X':L'-',
+ Diag?L'X':L'-',
+ Parents,
+ Devices,
+ Children,
+ Name != NULL ? Name : L"<UNKNOWN>");
+ } else {
+ ShellPrintHiiEx(
+ -1,
+ -1,
+ Language,
+ STRING_TOKEN(STR_DEVICES_ITEM_LINE_SFO),
+ gShellDriver1HiiHandle,
+ ConvertHandleToHandleIndex(*HandleListWalker),
+ Type,
+ Cfg?L'Y':L'N',
+ Diag?L'Y':L'N',
+ Parents,
+ Devices,
+ Children,
+ Name != NULL ? Name : L"<UNKNOWN>");
+ }
}
if (Name != NULL) {
FreePool(Name);