summaryrefslogtreecommitdiff
path: root/ShellPkg/Library/UefiShellDebug1CommandsLib
AgeCommit message (Collapse)AuthorFilesLines
2018-02-15ShellPkg/[hex]edit: Fix CTRL+<Alpha> doesn't work from hyper terminalRuiyu Ni3-12/+18
After commit 20ddbc133f679b7895dfdaf2fd58ec4c8183a1d8 * MdeModulePkg/ConSplitter: ReadKeyStrokeEx always return key state When one physical console supports to report the shift key state, the key data returned from ConSplitter driver at least carries the shift key valid bit. The patch fixes the edit/hexedit to accept Unicode (1) when the no shift key is pressed or reported. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
2018-02-13ShellPkg/[hex]edit: Fix wrongly use gST->ConIn as the console handleRuiyu Ni2-2/+2
Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
2018-02-13ShellPkg/[hex]edit: use SimpleTextInEx to read consoleRuiyu Ni8-161/+309
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=682 Edit and HexEdit commands assume that SimpleTxtIn translates Ctrl+<Alpha-Key> key combinations into Unicode control characters (0x1-0x1A). Such translation does not seem to be required by the UEFI spec. Shell should not rely on implementation specific behavior. It should instead use SimpleTextInEx to read Ctrl+<Alpha-Key> key combinations. The patch changes edit and hexedit to only consumes SimpleTextInEx so that the implementation specific behavior dependency is removed. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reported-by: Felix <felixp@mail.ru> Cc: Felix <felixp@mail.ru> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
2018-02-09ShellPkg/hexedit: Fix a read-after-free bugRuiyu Ni2-27/+18
HDiskImageSetDiskNameOffsetSize() and HFileImageSetFileName() may be called using the current disk name or file name. When this happens, today's implementation firstly frees the memory and then accesses the just-freed memory. The patch fixes this issue by doing nothing when the disk or file name is the current one. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
2018-02-08ShellPkg/UefiShellDebug1CommandsLib: sync Compress() definition with decl.Laszlo Ersek2-7/+8
"Compress.h" declares the Compress() function as EFIAPI, but the definition in "Compress.c" lacks EFIAPI. GCC toolchains without LTO do not catch this error because "Compress.c" does not include "Compress.h"; i.e. the declaration used by callers such as "EfiCompress.c" is not actually matched against the function definition at build time. With LTO enabled, the mismatch is found -- however, as a warning only, due to commit f8d0b9662993 ("BaseTools GCC5: disable warnings-as-errors for now", 2016-08-03). Include the header in the C file (which turns the issue into a hard build error on all GCC toolchains), plus sync the declaration from the header file to the C file. Finally, remove EFIAPI from both declaration and definition -- this was the original intent of commit c4e74e9b814c ("ShellPkg/UefiShellDebug1CommandsLib: Remove unnecessary EFIAPI", 2016-10-09), but it missed the header file. (Gary meant to address that omission in Oct 2017: [edk2] [PATCH] ShellPkg/UefiShellDebug1CommandsLib: Remove EFIAPI from Compress() http://mid.mail-archive.com/20171026065329.32311-1-glin@suse.com and Ray reviewed the patch, but then the patch was never committed.) So do the sync and drop EFIAPI now. This happens to fix the EFICOMPRESS shell command, when built with GCC for X64. Cc: Gary Lin <glin@suse.com> Cc: Jaben Carsey <jaben.carsey@intel.com> Cc: Ruiyu Ni <ruiyu.ni@intel.com> Fixes: c4e74e9b814cfb4b51cf832f3bb218cd2aba348b Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Gary Lin <glin@suse.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
2017-11-07ShellPkg/HexEdit: Fix EBC build failureRuiyu Ni1-2/+2
EfiCpuIoWidthUint8 should be used in HMemImageRead and HMemImageSave. Because CpuIo protocol is now used for memory access. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
2017-11-02ShellPkg/hexeditor: Use CpuIo for memory accessRuiyu Ni2-68/+6
The original code uses PciRootBridgeIo for memory access. It worked before MdeModulePkg/PciHostBridgeDxe driver was checked in. But MdeModulePkg/PciHostBridgeDxe adds checks to ensure the MMIO access request is in the scope of the current RootBridgeIo instance. It causes "hexeditor -m 0 2" reports error because memory address 0 surely is not in the scope of any RootBridgeIo instance. In fact only accessing the MMIO space occupied by the RootBridgeIo can work. The patch changes hexeditor to use CpuIo for memory access. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
2017-10-26Shellpkg/editor: Fix a bug that may modifies Line[-1]Ruiyu Ni1-1/+1
The original code as below intend to set the character before last column to CHAR_NULL. Line[(LastCol % (ARRAY_SIZE (Line) - 1)) - 1] = CHAR_NULL; But when LastCol % (ARRAY_SIZE (Line) - 1)) equals to 0, Line[-1] is modified. We should change to code as below: Line[(LastCol - 1) % (ARRAY_SIZE (Line) - 1)] = CHAR_NULL; Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> Reviewed-by: Hao A Wu <hao.a.wu@intel.com>
2017-10-23ShellPkg/editor: Fix system hang when console max column > 200Ruiyu Ni1-12/+19
EditorClearLine() assumes the console max column is less than 200. When the max column is bigger than 200, the code incorrectly modifies the content out side of Line buffer. It may cause system hang or reset. The patch changes the function to print several times when the max column is bigger than 200. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
2017-09-22ShellPkg/DmpStore: fix GCC/CLANG build failureLaszlo Ersek1-1/+1
> ShellPkg/Library/UefiShellDebug1CommandsLib/DmpStore.c:525:66: error: > passing argument 2 of 'gEfiShellProtocol->GetGuidName' from incompatible > pointer type [-Werror=incompatible-pointer-types] > > Status = gEfiShellProtocol->GetGuidName(&FoundVarGuid, &GuidName); > ^ > ShellPkg/Library/UefiShellDebug1CommandsLib/DmpStore.c:525:66: note: > expected 'const CHAR16 ** {aka const short unsigned int **}' but > argument is of type 'CHAR16 ** {aka short unsigned int **}' Pointer-to-(pointer-to-CHAR16) and pointer-to-(pointer-to-const-CHAR16) are incompatible types; GCC and CLANG are right to complain. Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Jaben Carsey <jaben.carsey@intel.com> Cc: Ruiyu Ni <ruiyu.ni@intel.com> Cc: Steven Shi <steven.shi@intel.com> Reported-by: Jenkins Build Host <jenkins@kraxel.org> Reported-by: Steven Shi <steven.shi@intel.com> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=716 Fixes: 09e8678380aaaf0a5ef59179ff59e0a045d1b0bf Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
2017-09-22ShellPkg/dmpstore: Show name of known variable vendor GUIDHuajing Li2-4/+14
Change "dmpstore" to show name of known variable vendor GUID. The name is got from ShellProtocol.GetGuidName(). Cc: Jaben Carsey <jaben.carsey@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Huajing Li <huajing.li@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
2017-08-16ShellPkg: Update header file including styleSong, BinX5-5/+5
- Update header file including style to avoid MSDN C4464 warning Cc: Jaben Carsey <jaben.carsey@intel.com> Cc: Ruiyu Ni <ruiyu.ni@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Bell Song <binx.song@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
2017-08-03ShellPkg/dblk: Honor the BlockIo alignment requirement.HuajingLi1-5/+12
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Huajing Li <huajing.li@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
2017-07-27ShellPkg/setvar: Check the duplicate flagHuajing Li2-0/+5
Signed-off-by: Huajing Li <huajing.li@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
2017-06-27ShellPkg DmpStore: Make NameSize to be consistent with name bufferStar Zeng1-0/+1
Current code will allocate pool to hold the null char for name buffer when PrevName==NULL, but the NameSize is still 0. For this case, GetNextVariableName will return EFI_INVALID_PARAMETER to follow UEFI 2.7 spec. UEFI 2.7 spec: The VariableNameSize must not be smaller the size of the variable name string passed to GetNextVariableName() on input in the VariableName buffer. EFI_INVALID_PARAMETER Null-terminator is not found in the first VariableNameSize bytes of the input VariableName buffer. This patch is to make NameSize to be consistent with name buffer. Cc: Ruiyu Ni <ruiyu.ni@intel.com> Cc: Jaben Carsey <jaben.carsey@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
2017-05-12ShellPkg/memmap: Dump memory map information for all memory typesRuiyu Ni2-3/+93
The patch dumps memory map information for all memory types. But to follow the SFO format of "memmap" defined in Shell 2.2 spec, the patch doesn't dump the memory map information for OEM/OS memory types. But it does include the OEM/OS memory in the total size in SFO format. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
2017-05-12ShellPkg/memmap: Refine codeRuiyu Ni1-52/+55
The patch changes Buffer to Descriptors, changes (UINT8 *Walker) to (EFI_MEMORY_DESCRIPTOR *Walker). The change makes lots of type conversion unnecessary. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
2017-04-25ShellPkg SmbiosView: Display Type 0 BIOS segment in hexadecimalJeff Westfahl1-1/+1
The SMBIOS Type 0 BIOS segment field is currently displayed in decimal. Since this field is likely to have a value like 0xE800 or 0xF000, using hexadecimal seems like a better choice. Cc: Ruiyu Ni <ruiyu.ni@intel.com> Cc: Jaben Carsey <jaben.carsey@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeff Westfahl <jeff.westfahl@ni.com> Reviewed-by: Star Zeng <star.zeng@intel.com>
2017-04-20ShellPkg/pci: Fix VS2012 build failureRuiyu Ni1-1/+2
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Hao A Wu <hao.a.wu@intel.com> Cc: Dandan Bi <dandan.bi@intel.com>
2017-04-20ShellPkg/comp: Fix file tag name.Ruiyu Ni1-4/+6
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Chen A Chen <chen.a.chen@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
2017-04-19ShellPkg/Pci: Always dump the extended config space for PCIERuiyu Ni1-193/+125
It is to align to the original behavior before "-ec" option was added. The patch also refines the code to make it more readable. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> Cc: Jim Dailey <Jim.Dailey@dell.com>
2017-04-07ShellPkg/SetVar: Fix typo in commentsDandan Bi1-1/+1
Cc: Ruiyu Ni <ruiyu.ni@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Dandan Bi <dandan.bi@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
2017-04-05ShellPkg/setvar: Add assertion indicating TempData shouldn't be NULLRuiyu Ni1-1/+2
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
2017-03-31ShellPkg/setvar: Support data format in Shell 2.2 specChen A Chen1-126/+297
Shell 2.2 spec defines =0x/=0X, =H/=h, =S, =L and =P for hex number, hex array, ascii string, unicode string and device path data. The patch adds such support. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Chen A Chen <chen.a.chen@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Jaben Carsey <jaben.carsey@intel.com> Cc: Jeff Fan <jeff.fan@intel.com>
2017-03-27ShellPkg/mm: Support UINT16 segment numberRuiyu Ni2-20/+20
It's to follow the Shell 2.2 spec. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
2017-03-06ShellPkg/comp: Use proper parameter namesRuiyu Ni1-5/+5
The patch doesn't impact the functionality. The rename also fixes the inconsistency between function header comments and function parameters. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
2017-03-06ShellPkg: Refine casting expression result to bigger sizeHao Wu1-4/+4
There are cases that the operands of an expression are all with rank less than UINT64/INT64 and the result of the expression is explicitly cast to UINT64/INT64 to fit the target size. An example will be: UINT32 a,b; // a and b can be any unsigned int type with rank less than UINT64, like // UINT8, UINT16, etc. UINT64 c; c = (UINT64) (a + b); Some static code checkers may warn that the expression result might overflow within the rank of "int" (integer promotions) and the result is then cast to a bigger size. The commit refines codes by the following rules: 1). When the expression is possible to overflow the range of unsigned int/ int: c = (UINT64)a + b; 2). When the expression will not overflow within the rank of "int", remove the explicit type casts: c = a + b; 3). When the expression will be cast to pointer of possible greater size: UINT32 a,b; VOID *c; c = (VOID *)(UINTN)(a + b); --> c = (VOID *)((UINTN)a + b); 4). When one side of a comparison expression contains only operands with rank less than UINT32: UINT8 a; UINT16 b; UINTN c; if ((UINTN)(a + b) > c) {...} --> if (((UINT32)a + b) > c) {...} For rule 4), if we remove the 'UINTN' type cast like: if (a + b > c) {...} The VS compiler will complain with warning C4018 (signed/unsigned mismatch, level 3 warning) due to promoting 'a + b' to type 'int'. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hao Wu <hao.a.wu@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
2017-03-06ShellPkg: Refine type cast for pointer subtractionHao Wu2-3/+3
For pointer subtraction, the result is of type "ptrdiff_t". According to the C11 standard (Committee Draft - April 12, 2011): "When two pointers are subtracted, both shall point to elements of the same array object, or one past the last element of the array object; the result is the difference of the subscripts of the two array elements. The size of the result is implementation-defined, and its type (a signed integer type) is ptrdiff_t defined in the <stddef.h> header. If the result is not representable in an object of that type, the behavior is undefined." In our codes, there are cases that the pointer subtraction is not performed by pointers to elements of the same array object. This might lead to potential issues, since the behavior is undefined according to C11 standard. Also, since the size of type "ptrdiff_t" is implementation-defined. Some static code checkers may warn that the pointer subtraction might underflow first and then being cast to a bigger size. For example: UINT8 *Ptr1, *Ptr2; UINTN PtrDiff; ... PtrDiff = (UINTN) (Ptr1 - Ptr2); The commit will refine the pointer subtraction expressions by casting each pointer to UINTN first and then perform the subtraction: PtrDiff = (UINTN) Ptr1 - (UINTN) Ptr2; Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hao Wu <hao.a.wu@intel.com> Acked-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
2017-03-01ShellPkg/Debug1CommandLib: Use StrToGuid/StrHexToBytes in BaseLibRuiyu Ni4-159/+11
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
2017-02-28ShellPkg/comp: Fix GCC build failureRuiyu Ni1-0/+1
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
2017-02-28ShellPkg/comp: Add "-n <diff-count>"/"-s <diff-byte>" supportChen A Chen2-155/+229
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Chen A Chen <chen.a.chen@intel.com> Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
2017-02-28ShellPkg/comp: Rename variable names to proper onesChen A Chen1-23/+23
The change doesn't impact the functionality. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Chen A Chen <chen.a.chen@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
2017-02-16ShellPkg/pci: Report error when invalid value is specified for "-ec"Ruiyu Ni2-7/+16
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
2017-02-10ShellPkg SmbiosView: Correct some outputs for Type 0/3/10Star Zeng3-3/+4
Type 0: Update "EDD Enhanced Disk Driver)..." to "EDD (Enhanced Disk Driver)..." for STR_SMBIOSVIEW_PRINTINFO_EDD_ENHANCED_DRIVER Type 3: Use L" Laptop" instead of L" LapTop" in SystemEnclosureTypeTable to match SMBIOS spec. Type 10: The BIT7 of Device Type is representing the status of device whether it is enabled or disabled. But current code is not considering the BIT7 and will print "Undefined Value" for enabled device. Type 41 has same definition of Device Type, the code is correct and will be applied to Type 10 by this patch. Cc: Ruiyu Ni <ruiyu.ni@intel.com> Cc: Jaben Carsey <jaben.carsey@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
2017-02-10ShellPkg SmbiosView: Eliminate trailing " | " in PrintBitsInfo()Star Zeng1-5/+13
Current PrintBitsInfo() will always print an additional trailing " | " for the bit flags, for example, Base Board Feature Flags: Hosting board | Replaceable | Th patch is to eliminate trailing " | " in PrintBitsInfo(), then the output will be like below Base Board Feature Flags: Hosting board | Replaceable Cc: Ruiyu Ni <ruiyu.ni@intel.com> Cc: Jaben Carsey <jaben.carsey@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
2017-01-25ShellPkg/pci: Fix extended register dumping for MFVC capabilityRuiyu Ni1-1/+2
https://bugzilla.tianocore.org/show_bug.cgi?id=355 Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
2017-01-25ShellPkg/pci: Support interpreting specific PCIE ext cap thru "-ec"Ruiyu Ni2-42/+34
The implementation was already there but through a private flag "-_e". The patch removes "-_e" support and add "-ec" support. Removing old "-_e" support makes the pci command more clean. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
2017-01-25ShellPkg/pci: Use PCI definitions defined in MdePkgRuiyu Ni2-721/+284
https://bugzilla.tianocore.org/show_bug.cgi?id=354 The patch removes the local PCI definitions and uses the definitions defined in MdePkg/Include/IndustryStandard folder. There is no functionality impact. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Jaben Carsey <jarben.carsey@intel.com>
2017-01-24ShellPkg SmbiosView: Add decoding of SMBIOS spec 3.1.1Star Zeng4-3/+57
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=349 Cc: Ruiyu Ni <ruiyu.ni@intel.com> Cc: Jaben Carsey <jaben.carsey@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
2017-01-22ShellPkg SmbiosView: Add decoding of SMBIOS spec 3.1.0Star Zeng4-2/+102
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=340 The decoding of TPM Device (Type 43) has been added at e9f0be021b7649c15d823e193110c0088cda9a89. Cc: Ruiyu Ni <ruiyu.ni@intel.com> Cc: Jaben Carsey <jaben.carsey@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
2017-01-19ShellPkg SmbiosView: Add missing decoding of SMBIOS spec 3.0.0Star Zeng2-1/+97
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=345 When I am adding SMBIOS spec 3.1.0 support, I found the decoding of SMBIOS spec 3.0.0 for some definitions is missing. Cc: Jaben Carsey <jaben.carsey@intel.com> Cc: Ruiyu Ni <ruiyu.ni@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
2017-01-19ShellPkg SmbiosView: Add missing decoding of SlotType AGP8XStar Zeng1-1/+5
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=344 SlotType AGP8X was added in SMBIOS spec 2.3.4, but the decoding of it is missing. I found it when I am adding SMBIOS spec 3.1.0 support. Cc: Jaben Carsey <jaben.carsey@intel.com> Cc: Ruiyu Ni <ruiyu.ni@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
2017-01-13ShellPkg/SmbiosView: Add decoding of SMBIOS record type 43Linson Augustine4-2/+95
Added decoding of the new SMBIOS Type 43 record. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Augustine Linson P <linson.augustine@hpe.com> Reviewed-by: Star Zeng <star.zeng@intel.com>
2017-01-12ShellPkg: Update smbiosview command to display Type 3 valuesChris Phillips1-3/+16
The smbiosview command was not displaying SMBIOS Type 3 Height, NumberofPowerCords, or SKU Number. Added handling to display these values. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Chris Phillips <chrisp@hpe.com> Reviewed-by: Star Zeng <star.zeng@intel.com>
2016-12-16ShellPkg/setvar: Correct typo in setvar help messageRuiyu Ni1-3/+3
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-12-14ShellPkg/UefiShellDebug1CommandsLib: Fix coding style issuesDandan Bi1-2/+3
Cc: Ruiyu Ni <ruiyu.ni@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Dandan Bi <dandan.bi@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
2016-11-16ShellPkg/dmpstore: Support "-sfo"Ruiyu Ni2-61/+154
The patch adds the "-sfo" support to "dmpstore" command. When -l or -d is specified, -sfo is not supported. When the variable specified by name and GUID cannot be found, an error message is displayed; Otherwise, the SFO is displayed. E.g.: "dmpstore -guid GuidThatDoesntExist -sfo" produces output as: ShellCommand,"dmpstore" VariableInfo,"","GuidThatDoesntExist","","","" "dmpstore NameThatDoesntExist -guid GuidThatDoesntExist -sfo" produces output as: ShellCommand,"dmpstore" dmpstore: No matching variables found. Guid GuidThatDoesntExist, Name NameThatDoesntExist The difference between the above 2 cases is that former one only specifies the GUID, but the latter one specifies both name and GUID. Since not specifying GUID means to use GlobalVariableGuid, "dmpstore NameThatDoesntExist -sfo" produces the similar output as latter one. I personally prefer to always produce SFO output for both cases. But the above behavior is the discussion result between HPE engineers. Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Signed-off-by: Chen A Chen <chen.a.chen@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> Reviewed-by: Tapan Shah <tapandshah@hpe.com>
2016-10-19ShellPkg: Update sources to include MdePkg protocol definitionsRuiyu Ni2-5/+3
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-10-19ShellPkg: Move SHELL_FREE_NON_NULL from ShellBase.h to ShellLib.hRuiyu Ni1-4/+4
The more proper place for macro SHELL_FREE_NON_NULL is ShellLib.h instead of ShellBase.h. Modify Compress.c to resolve build failure due to this change. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Michael D Kinney <michael.d.kinney@intel.com>
2016-10-09ShellPkg/UefiShellDebug1CommandsLib: Remove unnecessary EFIAPIChen A Chen34-241/+0
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Chen A Chen <chen.a.chen@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> Reviewed-by: Ruiyu Ni <Ruiyu.ni@intel.com>