Commit Graph

332 Commits

Author SHA1 Message Date
Ren Yang (楊壹任) 96572d4d72 ShellPkg: SMBIOS type 20 Extended Starting/Ending Address print type error
Wrong structure is used to print the SMBIOS type 20 Extended
Starting/Ending Address in SmbiosView

Signed-off-by: Ren Yang <RenYang@ami.com>
2026-02-03 23:20:58 +00:00
Cassandra Lam 9e815d789b ShellPkg/SmbiosView: Display Type 44 "Referenced Handle" field
Signed-off-by: Cassandra Lam <Cassandra.Lam@amd.com>
2025-10-16 08:57:01 +00:00
Cassandra Lam 28b7a6d5ea ShellPkg/SmbiosView: Display Type 2 Contained Objects info
Add prints for SMBIOS Type 2 "Number of Contained Object Handles" and
"Contained Object Handles" fields.

Signed-off-by: Cassandra Lam <Cassandra.Lam@amd.com>
2025-10-16 08:57:01 +00:00
“anupriyak“ a0e8b71ee5 ShellPkg: Review SMBIOS 3.9 specification
Add new structure members RackType and RackHeight in Smbios Type3.

Signed-off-by: Anupriya <anupriyak@ami.com>
2025-10-16 07:49:51 +00:00
Chasel Chiu 5cf1be671b ShellPkg/pci.c: Fix typo in source code.
Signed-off-by: Chasel Chiu <chasel.chiu@intel.com>
2025-10-03 17:14:30 +00:00
Pranav V V 5550d8f0b7 ShellPkg: Add PCIe boundary check and enhance DVSEC size calculation
1. Safe wrapper function for DumpHex that validates PCI configuration
   space boundaries. This function ensures that hex dumps do not exceed
   the standard 4KB PCIe configuration space boundary. If the requested
   dump would exceed this boundary, it prints an error message and
   truncates the dump size to remain within valid bounds.

2. Enhance DVSEC capability structure size calculation method. Size is
   now obtained from the DesignatedVendorSpecificHeader1.Bits.DvsecLength
   register.

Issue: https://github.com/tianocore/edk2/issues/11554

Signed-off-by: Pranav V V <pranav.v.v@intel.com>
2025-10-03 17:14:30 +00:00
Pierre Gondois aa29d51637 ShellPkg: Use the newly introduced ShellPrintDefaultEx() alias
Make use the newly introduced ShellPrintDefaultEx() alias and
replace wherever it is possible:
- "ShellPrintEx (-1, -1,"
with:
- "ShellPrintDefaultEx ("

No functional change is introduced.

Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
2025-10-01 10:02:57 +02:00
Pierre Gondois c4a8b001f3 ShellPkg: Use the newly introduced ShellPrintHiiDefaultEx() alias
Make use the newly introduced ShellPrintHiiDefaultEx() alias and
replace wherever it is possible:
- "ShellPrintHiiEx (-1, -1, NULL,"
with:
- "ShellPrintHiiDefaultEx ("

No functional change is introduced.

Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
2025-10-01 10:02:57 +02:00
Pierre Gondois 16ffc09be1 ShellPkg/MemMap: Extract a ParseMemoryDescriptors() function
In an effort to simplify the code in the ShellPkg,
extract a ParseMemoryDescriptors() function.

No functional change is introduced.

Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
2025-10-01 10:02:57 +02:00
Pierre Gondois 5ff8948a12 ShellPkg/MemMap: Create arrays of MemoryType configuration and Page
In an effort to simplify the code in the ShellPkg:
- create a MEMORY_TYPE_INFO struct, storing per-MemoryType configuration
  information to facilitate the operations to do for each MemoryType.
- create a MEMORY_TYPE_PAGES_INFO struct, storing per-MemoryType
  Pages and PagesSize count.
Also use these arrays to facilitate Pages accounting and remove
per-MemoryType variables.

No functional change is introduced.

Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
2025-10-01 10:02:57 +02:00
Pierre Gondois 25daa0fcc9 ShellPkg/MemMap: Create array of MemoryType names
In an effort to simplify the code in the ShellPkg,
replace the MemoryType names that are currently stored in individual
variables by an array of names, facilitating access to these names.

No functional change is introduced.

Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
2025-10-01 10:02:57 +02:00
Pierre Gondois 0f57fc7cf7 ShellPkg/Dmem: Remove return parameter from DisplayXXX() functions
In an effort to simplify the code in the ShellPkg,
remove the SHELL_STATUS parameter returned by:
- DisplayRtProperties()
- DisplayImageExecutionEntries()
- DisplayConformanceProfiles()

These functions are independent display functions. Thus failing to
display a configuration table should not prevent from displaying
the remaining tables.

Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
2025-10-01 10:02:57 +02:00
Pierre Gondois 2bebeb1ad4 ShellPkg/Dmem: Remove unnecessary EfiGetSystemConfigurationTable() calls
In an effort to simplify the code in the ShellPkg,
remove EfiGetSystemConfigurationTable() calls fetching Configuration
Table addresses that have already been collected.

No functional change is introduced.

Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
2025-10-01 10:02:57 +02:00
Pierre Gondois 482781a7f9 ShellPkg/Dmem: Simplify logic by inverting Address checks
In an effort to simplify the code in the ShellPkg,
inverse checks against the 'Address'. This also lowers the
indentation level.

No functional change is introduced.

Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
2025-10-01 10:02:57 +02:00
Pierre Gondois e78453fb54 ShellPkg/Dmem: Replace per-System Table variable by indexed arrays
In an effort to simplify the code in the ShellPkg,
remove the per-System Table variables by indexed arrays.

The only functional change introduced is that a non-null Smbios3
System Table:
- always replaces an Smbios System Table
- ASSERT if (Smbios3 != 0) and (Smbios != 0)
Otherwise no functional change is introduced.

Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
2025-10-01 10:02:57 +02:00
Pierre Gondois 0235ac23c5 ShellPkg/Dmem: Remove Memory Range Capsule support
Memory Range Capsule is described in the UEFI spec 2.9
s8.5.3 Update Capsule with the following GUID:
{0DE9F0EC-88B6-428F-977A-258F1D0E5E72}

Support to print the EFI_MEMORY_RANGE_CAPSULE address in the EFI
Configuration table was added in commit: 42b0443599
("ShellPkg: UefiShellDebug1CommandsLib: Uefi Config Tables in Dmem.c")
but EFI_MEMORY_RANGE_CAPSULE type and GUID is not present in edk2.
Thus dmem always print a 0 value for this configuration table.

Remove support of EFI_MEMORY_RANGE_CAPSULE in dmem.

Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
2025-10-01 10:02:57 +02:00
Pierre Gondois cf67a0c78e ShellPkg/Dmem: Remove remaining of SAL System Table
The SAL System Table is unsupported and its support was
removed in commit:
f4c874c45d ("ShellPkg/UefiShellDebug1CommandsLib")

Remove remaining of SAL System Table handling.

Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
2025-10-01 10:02:57 +02:00
Pierre Gondois ace36ed376 ShellPkg/Dmem: Extract a DisplaySystemTable() function
In an effort to simplify the code in the ShellPkg,
extract a DisplaySystemTable().
This also lowers the indentation level.

No functional change is introduced.

Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
2025-10-01 10:02:57 +02:00
Giri Mudusuru 406aeb5a97 ShellPkg/SmbiosView: Add decode for DSP0134 SMBIOS Spec v3.9.0
Add decode for Type17 Memory based on SMBIOS Spec v3.9.0

Signed-off-by: Giri Mudusuru <girimudusuru@microsoft.com>
2025-09-09 10:39:33 +00:00
Gowtham M e27779e2c1 ShellPkg/Library: Deprecate EFI_DEVICE_IO_PROTOCOL
gEfiDeviceIoProtocolGuid identifies EFI_DEVICE_IO_PROTOCOL,
which provided low-level I/O and MMIO access for UEFI drivers.

It was removed in UEFI 2.10A and 2.11 due to overlapping
functionality with modern protocols like EFI_PCI_IO_PROTOCOL
and EFI_CPU_IO2_PROTOCOL. These newer protocols offer improved
modularity, abstraction, and safety, making EFI_DEVICE_IO_PROTOCOL
obsolete.

Cc: Sachin Ganesh <sachinganesh@ami.com>
Signed-off-by: Gowtham M <gowthamm@ami.com>
2025-09-05 13:50:50 +00:00
Nanjinmoorthyj c992bffaef ShellPkg: Add support for PCIe Extended IDs
Add a support to print PTM (001F) structure.

Signed-off-by: Nanjinmoorthy <nanjinmoorthyj@ami.com>
2025-09-05 12:04:06 +00:00
Ning Feng f718b0ffd6 ShellPkg/UefiShellDebug1CommandsLib: Add MRDIMM entry to QueryTable
Added the MRDIMM (0x08) entry to the MemoryDeviceMemoryTechnologyTable
in QueryTable.c.  This enables proper display and decoding of MRDIMM memory
technology in SMBIOS Type 17 structures.

Signed-off-by: Ning Feng <ning.feng@intel.com>
2025-09-02 17:11:24 +00:00
Prachotan Bathi d46aa46c83 ShellPkg: Remove EmbeddedPkg dependency
Commit dcde148 introduced EmbeddedPkg as a dependency
since gFdtTableGuid was in the EmbeddedPkg, but has now
been moved to MdePkg.

Signed-off-by: Prachotan Bathi <prachotan.bathi@arm.com>
2025-08-12 17:42:44 +00:00
Revathy V be6342d64f ShellPkg: Fixed Deadcode and Null field Coverity warnings.
Updated fixes for all Deadcode and Null field Coverity fixes in ShellPkg

Signed-off-by: Revathy <revathyv@ami.com>
2025-07-24 07:57:29 +00:00
Prachotan Reddy Bathi 01295fd25b ShellPkg: DtbTableAddress via config in dmem
DTB address can be modified through the config table. Use
this address in dmem output.
EmbeddedPkg dependency added to
ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
and ShellPkg/ShellPkg.ci.yaml

Adds to: 42b0443599
("ShellPkg: UefiShellDebug1CommandsLib: Uefi Config Tables in Dmem.c")

Signed-off-by: Prachotan Reddy Bathi <Prachotan.Bathi@arm.com>
2025-07-24 05:59:45 +00:00