summaryrefslogtreecommitdiffstats
path: root/ShellPkg
diff options
context:
space:
mode:
authorSam Kaynor <sam.kaynor@arm.com>2023-04-05 04:11:16 +0800
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2023-04-13 05:52:32 +0000
commit42b0443599a69c703034079cf2bd389fa3a6bfde (patch)
treedda240fabb7caa60ef8a12b2161d4d9c39ad60fc /ShellPkg
parent5430f7f60dee3747fff906b48718db8afb4589d9 (diff)
downloadedk2-42b0443599a69c703034079cf2bd389fa3a6bfde.tar.gz
edk2-42b0443599a69c703034079cf2bd389fa3a6bfde.tar.bz2
edk2-42b0443599a69c703034079cf2bd389fa3a6bfde.zip
ShellPkg: UefiShellDebug1CommandsLib: Uefi Config Tables in Dmem.c
Added entries for UEFI Config Tables not present in current Dmem output. Cc: Ray Ni <ray.ni@intel.com> Cc: Zhichao Gao <zhichao.gao@intel.com> Signed-off-by: Sam Kaynor <Sam.Kaynor@arm.com> Reviewed-by: Sunny Wang <sunny.wang@arm.com> Reviewed-by: Zhichao Gao <zhichao.gao@intel.com> Reviewed-by: Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com>
Diffstat (limited to 'ShellPkg')
-rw-r--r--ShellPkg/Library/UefiShellDebug1CommandsLib/Dmem.c99
-rw-r--r--ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf9
-rw-r--r--ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.uni28
3 files changed, 123 insertions, 13 deletions
diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/Dmem.c b/ShellPkg/Library/UefiShellDebug1CommandsLib/Dmem.c
index c52c212a56..a609971f34 100644
--- a/ShellPkg/Library/UefiShellDebug1CommandsLib/Dmem.c
+++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/Dmem.c
@@ -10,9 +10,15 @@
#include "UefiShellDebug1CommandsLib.h"
#include <Protocol/PciRootBridgeIo.h>
+#include <Protocol/HiiDatabase.h>
#include <Guid/Acpi.h>
#include <Guid/Mps.h>
#include <Guid/SmBios.h>
+#include <Guid/MemoryAttributesTable.h>
+#include <Guid/RtPropertiesTable.h>
+#include <Guid/SystemResourceTable.h>
+#include <Guid/DebugImageInfoTable.h>
+#include <Guid/ImageAuthentication.h>
/**
Make a printable character.
@@ -108,6 +114,18 @@ ShellCommandRunDmem (
UINT64 SalTableAddress;
UINT64 SmbiosTableAddress;
UINT64 MpsTableAddress;
+ UINT64 DtbTableAddress;
+ UINT64 MemoryAttributesTableAddress;
+ UINT64 RtPropertiesTableAddress;
+ UINT64 SystemResourceTableAddress;
+ UINT64 DebugImageInfoTableAddress;
+ UINT64 ImageExecutionTableAddress;
+ UINT64 JsonConfigDataTableAddress;
+ UINT64 JsonCapsuleDataTableAddress;
+ UINT64 JsonCapsuleResultTableAddress;
+ UINT64 MemoryRangeCapsuleAddress;
+ UINT64 HiiDatabaseExportBufferAddress;
+ UINT64 ConformanceProfileTableAddress;
UINTN TableWalker;
ShellStatus = SHELL_SUCCESS;
@@ -168,11 +186,23 @@ ShellCommandRunDmem (
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_DMEM_HEADER_ROW), gShellDebug1HiiHandle, (UINT64)(UINTN)Address, Size);
DumpHex (2, (UINTN)Address, (UINTN)Size, Address);
if (Address == (VOID *)gST) {
- Acpi20TableAddress = 0;
- AcpiTableAddress = 0;
- SalTableAddress = 0;
- SmbiosTableAddress = 0;
- MpsTableAddress = 0;
+ Acpi20TableAddress = 0;
+ AcpiTableAddress = 0;
+ SalTableAddress = 0;
+ SmbiosTableAddress = 0;
+ MpsTableAddress = 0;
+ DtbTableAddress = 0;
+ MemoryAttributesTableAddress = 0;
+ RtPropertiesTableAddress = 0;
+ SystemResourceTableAddress = 0;
+ DebugImageInfoTableAddress = 0;
+ ImageExecutionTableAddress = 0;
+ JsonConfigDataTableAddress = 0;
+ JsonCapsuleDataTableAddress = 0;
+ JsonCapsuleResultTableAddress = 0;
+ MemoryRangeCapsuleAddress = 0;
+ HiiDatabaseExportBufferAddress = 0;
+ ConformanceProfileTableAddress = 0;
for (TableWalker = 0; TableWalker < gST->NumberOfTableEntries; TableWalker++) {
if (CompareGuid (&gST->ConfigurationTable[TableWalker].VendorGuid, &gEfiAcpi20TableGuid)) {
Acpi20TableAddress = (UINT64)(UINTN)gST->ConfigurationTable[TableWalker].VendorTable;
@@ -198,6 +228,51 @@ ShellCommandRunDmem (
MpsTableAddress = (UINT64)(UINTN)gST->ConfigurationTable[TableWalker].VendorTable;
continue;
}
+
+ if (CompareGuid (&gST->ConfigurationTable[TableWalker].VendorGuid, &gEfiMemoryAttributesTableGuid)) {
+ MemoryAttributesTableAddress = (UINT64)(UINTN)gST->ConfigurationTable[TableWalker].VendorTable;
+ continue;
+ }
+
+ if (CompareGuid (&gST->ConfigurationTable[TableWalker].VendorGuid, &gEfiRtPropertiesTableGuid)) {
+ RtPropertiesTableAddress = (UINT64)(UINTN)gST->ConfigurationTable[TableWalker].VendorTable;
+ continue;
+ }
+
+ if (CompareGuid (&gST->ConfigurationTable[TableWalker].VendorGuid, &gEfiSystemResourceTableGuid)) {
+ SystemResourceTableAddress = (UINT64)(UINTN)gST->ConfigurationTable[TableWalker].VendorTable;
+ continue;
+ }
+
+ if (CompareGuid (&gST->ConfigurationTable[TableWalker].VendorGuid, &gEfiDebugImageInfoTableGuid)) {
+ DebugImageInfoTableAddress = (UINT64)(UINTN)gST->ConfigurationTable[TableWalker].VendorTable;
+ continue;
+ }
+
+ if (CompareGuid (&gST->ConfigurationTable[TableWalker].VendorGuid, &gEfiImageSecurityDatabaseGuid)) {
+ ImageExecutionTableAddress = (UINT64)(UINTN)gST->ConfigurationTable[TableWalker].VendorTable;
+ continue;
+ }
+
+ if (CompareGuid (&gST->ConfigurationTable[TableWalker].VendorGuid, &gEfiJsonConfigDataTableGuid)) {
+ JsonConfigDataTableAddress = (UINT64)(UINTN)gST->ConfigurationTable[TableWalker].VendorTable;
+ continue;
+ }
+
+ if (CompareGuid (&gST->ConfigurationTable[TableWalker].VendorGuid, &gEfiJsonCapsuleDataTableGuid)) {
+ JsonCapsuleDataTableAddress = (UINT64)(UINTN)gST->ConfigurationTable[TableWalker].VendorTable;
+ continue;
+ }
+
+ if (CompareGuid (&gST->ConfigurationTable[TableWalker].VendorGuid, &gEfiJsonCapsuleResultTableGuid)) {
+ JsonCapsuleResultTableAddress = (UINT64)(UINTN)gST->ConfigurationTable[TableWalker].VendorTable;
+ continue;
+ }
+
+ if (CompareGuid (&gST->ConfigurationTable[TableWalker].VendorGuid, &gEfiHiiDatabaseProtocolGuid)) {
+ HiiDatabaseExportBufferAddress = (UINT64)(UINTN)gST->ConfigurationTable[TableWalker].VendorTable;
+ continue;
+ }
}
ShellPrintHiiEx (
@@ -218,7 +293,19 @@ ShellCommandRunDmem (
AcpiTableAddress,
Acpi20TableAddress,
MpsTableAddress,
- SmbiosTableAddress
+ SmbiosTableAddress,
+ DtbTableAddress,
+ MemoryAttributesTableAddress,
+ RtPropertiesTableAddress,
+ SystemResourceTableAddress,
+ DebugImageInfoTableAddress,
+ ImageExecutionTableAddress,
+ JsonConfigDataTableAddress,
+ JsonCapsuleDataTableAddress,
+ JsonCapsuleResultTableAddress,
+ MemoryRangeCapsuleAddress,
+ HiiDatabaseExportBufferAddress,
+ ConformanceProfileTableAddress
);
}
} else {
diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
index 74ad5facf6..3741dac5d9 100644
--- a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
+++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
@@ -121,6 +121,7 @@
gEfiBlockIoProtocolGuid ## SOMETIMES_CONSUMES
gEfiSimplePointerProtocolGuid ## SOMETIMES_CONSUMES
gEfiCpuIo2ProtocolGuid ## SOMETIMES_CONSUMES
+ gEfiHiiDatabaseProtocolGuid ## SOMETIMES_CONSUMES
[Guids]
gEfiGlobalVariableGuid ## SOMETIMES_CONSUMES ## GUID
@@ -130,3 +131,11 @@
gEfiAcpi10TableGuid ## SOMETIMES_CONSUMES ## SystemTable
gEfiAcpi20TableGuid ## SOMETIMES_CONSUMES ## SystemTable
gShellDebug1HiiGuid ## SOMETIMES_CONSUMES ## HII
+ gEfiMemoryAttributesTableGuid ## SOMETIMES_CONSUMES ## SystemTable
+ gEfiRtPropertiesTableGuid ## SOMETIMES_CONSUMES ## SystemTable
+ gEfiSystemResourceTableGuid ## SOMETIMES_CONSUMES ## SystemTable
+ gEfiDebugImageInfoTableGuid ## SOMETIMES_CONSUMES ## SystemTable
+ gEfiImageSecurityDatabaseGuid ## SOMETIMES_CONSUMES ## SystemTable
+ gEfiJsonConfigDataTableGuid ## SOMETIMES_CONSUMES ## SystemTable
+ gEfiJsonCapsuleDataTableGuid ## SOMETIMES_CONSUMES ## SystemTable
+ gEfiJsonCapsuleResultTableGuid ## SOMETIMES_CONSUMES ## SystemTable
diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.uni b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.uni
index 4fedc0d149..4041f0cd48 100644
--- a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.uni
+++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.uni
@@ -107,13 +107,27 @@
"---------------------------------------------\r\n"
"System: Table Structure size %08x revision %08x\r\n"
"ConIn (%016LX) ConOut (%016LX) StdErr (%016LX)\r\n"
- "Runtime Services %016LX\r\n"
- "Boot Services %016LX\r\n"
- "SAL System Table %016LX\r\n"
- "ACPI Table %016LX\r\n"
- "ACPI 2.0 Table %016LX\r\n"
- "MPS Table %016LX\r\n"
- "SMBIOS Table %016LX\r\n"
+ "Runtime Services %016LX\r\n"
+ "Boot Services %016LX\r\n"
+ "SAL System Table %016LX\r\n"
+ "ACPI Table %016LX\r\n"
+ "ACPI 2.0 Table %016LX\r\n"
+ "MPS Table %016LX\r\n"
+ "SMBIOS Table %016LX\r\n"
+ "DTB Table %016LX\r\n"
+ "Memory Attribute Table %016LX\r\n"
+ "RT Properties Table %016LX\r\n"
+ "System Resource Table %016LX\r\n"
+ "Debug Image Info Table %016LX\r\n"
+ "Image Execution Info Table %016LX\r\n"
+ "Json Config Data Table %016LX\r\n"
+ "Json Capsule Data Table %016LX\r\n"
+ "Json Capsule Results Table %016LX\r\n"
+ "Memory Range Capsule %016LX\r\n"
+ "Hii Database Export Buffer %016LX\r\n"
+ "Conformance Profile Table %016LX\r\n"
+
+
#string STR_LOAD_PCI_ROM_RES #language en-US "Image '%B%s%N' load result: %r\r\n"
#string STR_LOADPCIROM_CORRUPT #language en-US "%H%s%N: File '%B%s%N' Image %d is corrupt.\r\n"