summaryrefslogtreecommitdiff
path: root/ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.c
AgeCommit message (Collapse)Author
2016-09-01ShellPkg: Add check for "dump" parameter in "bcfg" commandDandan Bi
When user uses the command "bcfg driver|boot [dump [-v]]", the number of command line value parameters (doesn't include the flag) must be three. We can add this point to check whether using this command correctly. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Dandan Bi <dandan.bi@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> Reviewed-by: Tapan Shah <tapandshah@hpe.com>
2016-07-18ShellPkg/UefiShellBcfgCommandLib: Handle memory allocation failureRuiyu Ni
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
2016-05-20ShellPkg/Bcfg: Add support for 'addp' command.Qiu Shumin
Until now the 'addp' command has been handled in the same way as 'add'. Just copy the DevicePath starting from the Hard Drive node when 'addp' is used. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Marvin Haeuser <Marvin.Haeuser@outlook.com> Reviewed-by: Qiu Shumin <shumin.qiu@intel.com>
2016-01-26ShellPkg: Refine the code to avoid use a constant number as offset.Qiu Shumin
Refine the code to use 'sizeof(EFI_LOAD_OPTION)' as offset in buffer to get 'description' instead of using a constant number. This change makes the code more readable. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Qiu Shumin <shumin.qiu@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19746 6f19259b-4bc3-4df7-8a09-765794883524
2016-01-21ShellPkg: BcfgDisplayDump(): print optional data with DumpHex()Laszlo Ersek
The DumpHex() function produces very friendly output (known from DMPSTORE, for example); let's use it with "BCFG -v" as well. Cc: Jaben Carsey <jaben.carsey@intel.com> Cc: Ryan Harkin <ryan.harkin@linaro.org> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19718 6f19259b-4bc3-4df7-8a09-765794883524
2016-01-21ShellPkg: BcfgDisplayDump(): fix ShellPrintEx() call siteLaszlo Ersek
This is likely a copy & paste error from the preceding ShellPrintHiiEx() function call. ShellPrintEx() takes no Language parameter, so remove the NULL argument, which is currently misinterpreted as a format string. This bug prevents the hexdump of optional data even when -v is passed to BCFG, and optional data exist. Cc: Jaben Carsey <jaben.carsey@intel.com> Cc: Ryan Harkin <ryan.harkin@linaro.org> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19716 6f19259b-4bc3-4df7-8a09-765794883524
2016-01-21ShellPkg: BcfgDisplayDump(): fix reporting of OptionalDataLaszlo Ersek
In this cleaned up form of BcfgDisplayDump(), it is easier to see that the OptionalDataOffset <= BufferSize expression, used to report whether optional data are *absent*, is incorrect. For any well-formed EFI_LOAD_OPTION, this inequality always holds. Optional data are present exactly if OptionalDataOffset < BufferSize therefore the absence condition is the negation of the above, OptionalDataOffset >= BufferSize This patch fixes the bug where BCFG always reports "Optional- N", even if optional data exist. Cc: Jaben Carsey <jaben.carsey@intel.com> Cc: Ryan Harkin <ryan.harkin@linaro.org> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19715 6f19259b-4bc3-4df7-8a09-765794883524
2016-01-21ShellPkg: BcfgDisplayDump(): calculate OptionalDataOffset explicitlyLaszlo Ersek
Eliminate some more repeated pointer arithmetic. This patch too is only refactoring. Cc: Jaben Carsey <jaben.carsey@intel.com> Cc: Ryan Harkin <ryan.harkin@linaro.org> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19714 6f19259b-4bc3-4df7-8a09-765794883524
2016-01-21ShellPkg: BcfgDisplayDump(): eliminate FilePathList duplicationLaszlo Ersek
Copying and releasing each EFI_LOAD_OPTION.FilePathList under the name DevPath is wasteful -- we only need FilePathList for a single conversion to text. Do it directly from the EFI_LOAD_OPTION object. This patch is not supposed to change observable behavior. Cc: Jaben Carsey <jaben.carsey@intel.com> Cc: Ryan Harkin <ryan.harkin@linaro.org> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19713 6f19259b-4bc3-4df7-8a09-765794883524
2016-01-21ShellPkg: BcfgDisplayDump(): call Description[Size] by nameLaszlo Ersek
Introduce two more helper variables to avoid repeated pointer arithmetic. This patch is not supposed to change behavior. Cc: Jaben Carsey <jaben.carsey@intel.com> Cc: Ryan Harkin <ryan.harkin@linaro.org> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19712 6f19259b-4bc3-4df7-8a09-765794883524
2016-01-21ShellPkg: BcfgDisplayDump(): address FilePathListLength by nameLaszlo Ersek
The Buffer variable points at the beginning of an EFI_LOAD_OPTION structure. We might as well address the "FilePathListLength" member by name, rather than with *(UINT16*)(Buffer+4). This patch is not supposed to change behavior. Cc: Jaben Carsey <jaben.carsey@intel.com> Cc: Ryan Harkin <ryan.harkin@linaro.org> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19711 6f19259b-4bc3-4df7-8a09-765794883524
2016-01-21ShellPkg: BcfgDisplayDump(): enforce minimum size for Boot#### and co.Laszlo Ersek
"3.1.1 Boot Manager Programming" in the UEFI 2.5 spec mandates that Boot#### and similar options contain EFI_LOAD_OPTION structures. The EFI_LOAD_OPTION structure encodes the fixed initial part of the payload, and we can (and should) use it to enforce a minimum size for variable contents. This patch is meant as a safety improvement. Cc: Jaben Carsey <jaben.carsey@intel.com> Cc: Ryan Harkin <ryan.harkin@linaro.org> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19710 6f19259b-4bc3-4df7-8a09-765794883524
2016-01-21ShellPkg: BcfgDisplayDump(): accumulate errorsLaszlo Ersek
Don't exit the command immediately when a variable access fails; continue processing after printing the error message. Let the final return status reflect any encountered errors. This patch is intended as a functional improvement. Cc: Jaben Carsey <jaben.carsey@intel.com> Cc: Ryan Harkin <ryan.harkin@linaro.org> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19709 6f19259b-4bc3-4df7-8a09-765794883524
2016-01-21ShellPkg: BcfgDisplayDump(): hoist NULL-init of DevPath[String]Laszlo Ersek
It will help with error handling if we move these initializations near the top of the loop body. This patch is not supposed to change behavior. Cc: Jaben Carsey <jaben.carsey@intel.com> Cc: Ryan Harkin <ryan.harkin@linaro.org> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19708 6f19259b-4bc3-4df7-8a09-765794883524
2016-01-21ShellPkg: BcfgDisplayDump(): update whitespace & layoutLaszlo Ersek
This patch incurs no functional changes, it just modifies some whitespace, so we can separate these non-functional changes from the functional changes in the next patches. Cc: Jaben Carsey <jaben.carsey@intel.com> Cc: Ryan Harkin <ryan.harkin@linaro.org> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19706 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-16ShellPkg: Fix the 'bcfg' command ASSERT when use some invalid parameters.Qiu Shumin
'bcfg boot mv xx yy' command will ASSET when xx is larger than the count of boot options. This patch correct the order of ShellPrintHiiEx parameters to fix the bugs. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Qiu Shumin <shumin.qiu@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19295 6f19259b-4bc3-4df7-8a09-765794883524
2015-03-09ShellPkg: Help and Error Messages UpdateTapan Shah
Updates to various profile commands help and error message output with better wordings. Fix few inconsistency issues found in error messages across various profile commands. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Tapan Shah <tapandshah@hp.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17032 6f19259b-4bc3-4df7-8a09-765794883524
2015-02-04ShellPkg: Standardized HP Copyright Message StringTapan Shah
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Tapan Shah <tapandshah@hp.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16759 6f19259b-4bc3-4df7-8a09-765794883524
2015-02-03ShellPkg: Update bcfg command response outputTapan Shah
Updates to bcfg command response output. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Tapan Shah <tapandshah@hp.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16726 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-24ShellPkg: Make the argument type match the function expected parameter type ↵Qiu Shumin
to avoid build fail in GCC45. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Qiu Shumin <shumin.qiu@intel.com> Reviewed-by: Ni Ruiyu <ruiyu.ni@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16163 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-23ShellPkg: Fix setting hot key for boot option fail.Qiu Shumin
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Qiu Shumin <shumin.qiu@intel.com> Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16159 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-17ShellPkg: Use compare operator for non-Boolean comparisons.Qiu Shumin
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Qiu Shumin <shumin.qiu@intel.com> Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16120 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-12ShellPkg: Fix ASSERT when bcfg moving boot option with source location = ↵Tapan Shah
total number of boot options Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Tapan Shah <tapandshah@hp.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16102 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-10ShellPkg: Add a new library for "bcfg" commandJaben Carsey
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jaben Carsey <jaben.carsey@intel.com> Reviewed-by: Chris Phillips <chrisp@hp.com> Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com> Reviewed by: Tapan Shah <tapandshah@hp.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16092 6f19259b-4bc3-4df7-8a09-765794883524