public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH v2 0/1] Add all UEFI Config Tables to Dmem output
@ 2023-04-04 20:11 Sam Kaynor
  2023-04-04 20:11 ` [PATCH v2 1/1] ShellPkg: UefiShellDebug1CommandsLib: Uefi Config Tables in Dmem.c Sam Kaynor
  0 siblings, 1 reply; 4+ messages in thread
From: Sam Kaynor @ 2023-04-04 20:11 UTC (permalink / raw)
  To: devel; +Cc: Sam Kaynor, Ray Ni, Zhichao Gao

Currently, several important UEFI defined config tables are not
present in the output of Dmem. This patch implements dumping the
presence of all UEFI Config Tables defined in UEFI Specification 2.10

v2 to correct CI formatting errors.

REF: https://github.com/tianocore/edk2/pull/4239

Cc: Ray Ni <ray.ni@intel.com>
Cc: Zhichao Gao <zhichao.gao@intel.com>

Sam Kaynor (1):
  ShellPkg: UefiShellDebug1CommandsLib: Uefi Config Tables in Dmem.c

 ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf |  9 ++
 ShellPkg/Library/UefiShellDebug1CommandsLib/Dmem.c                         | 99 ++++++++++++++++++--
 ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.uni | 28 ++++--
 3 files changed, 123 insertions(+), 13 deletions(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH v2 1/1] ShellPkg: UefiShellDebug1CommandsLib: Uefi Config Tables in Dmem.c
  2023-04-04 20:11 [PATCH v2 0/1] Add all UEFI Config Tables to Dmem output Sam Kaynor
@ 2023-04-04 20:11 ` Sam Kaynor
  2023-04-11 10:02   ` [edk2-devel] " Gao, Zhichao
       [not found]   ` <1754D92F14C81F18.26696@groups.io>
  0 siblings, 2 replies; 4+ messages in thread
From: Sam Kaynor @ 2023-04-04 20:11 UTC (permalink / raw)
  To: devel; +Cc: Sam Kaynor, Ray Ni, Zhichao Gao, Sam Kaynor

Added entries for UEFI Config Tables not present in current
Dmem output.
v2 for revising CI formatting errors.

Cc: Ray Ni <ray.ni@intel.com>
Cc: Zhichao Gao <zhichao.gao@intel.com>
Signed-off-by: Sam Kaynor <Sam.Kaynor@arm.com>
---
 ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf |  9 ++
 ShellPkg/Library/UefiShellDebug1CommandsLib/Dmem.c                         | 99 ++++++++++++++++++--
 ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.uni | 28 ++++--
 3 files changed, 123 insertions(+), 13 deletions(-)

diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
index 74ad5facf6b1..3741dac5d94c 100644
--- a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
+++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
@@ -121,6 +121,7 @@ [Protocols]
   gEfiBlockIoProtocolGuid                     ## SOMETIMES_CONSUMES
   gEfiSimplePointerProtocolGuid               ## SOMETIMES_CONSUMES
   gEfiCpuIo2ProtocolGuid                      ## SOMETIMES_CONSUMES
+  gEfiHiiDatabaseProtocolGuid                 ## SOMETIMES_CONSUMES
 
 [Guids]
   gEfiGlobalVariableGuid          ## SOMETIMES_CONSUMES ## GUID
@@ -130,3 +131,11 @@ [Guids]
   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/Dmem.c b/ShellPkg/Library/UefiShellDebug1CommandsLib/Dmem.c
index c52c212a56f8..a609971f345e 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.uni b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.uni
index 4fedc0d1493c..4041f0cd483e 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"
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [edk2-devel] [PATCH v2 1/1] ShellPkg: UefiShellDebug1CommandsLib: Uefi Config Tables in Dmem.c
  2023-04-04 20:11 ` [PATCH v2 1/1] ShellPkg: UefiShellDebug1CommandsLib: Uefi Config Tables in Dmem.c Sam Kaynor
@ 2023-04-11 10:02   ` Gao, Zhichao
       [not found]   ` <1754D92F14C81F18.26696@groups.io>
  1 sibling, 0 replies; 4+ messages in thread
From: Gao, Zhichao @ 2023-04-11 10:02 UTC (permalink / raw)
  To: devel@edk2.groups.io, sam.kaynor@arm.com
  Cc: Ni, Ray, sunny.Wang@arm.com, Samer.El-Haj-Mahmoud@arm.com

The change is only for the coding style: make sure there is a white space between the function name and '('.
I think you can keep the previous R-B.

Thanks,
Zhichao

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Sam
> Kaynor
> Sent: Wednesday, April 5, 2023 4:11 AM
> To: devel@edk2.groups.io
> Cc: Sam Kaynor <sam.kaynor@arm.com>; Ni, Ray <ray.ni@intel.com>; Gao,
> Zhichao <zhichao.gao@intel.com>; Sam Kaynor <Sam.Kaynor@arm.com>
> Subject: [edk2-devel] [PATCH v2 1/1] ShellPkg:
> UefiShellDebug1CommandsLib: Uefi Config Tables in Dmem.c
> 
> Added entries for UEFI Config Tables not present in current Dmem output.
> v2 for revising CI formatting errors.
> 
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Zhichao Gao <zhichao.gao@intel.com>
> Signed-off-by: Sam Kaynor <Sam.Kaynor@arm.com>
> ---
> 
> ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Commands
> Lib.inf |  9 ++
>  ShellPkg/Library/UefiShellDebug1CommandsLib/Dmem.c                         | 99
> ++++++++++++++++++--
> 
> ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Commands
> Lib.uni | 28 ++++--
>  3 files changed, 123 insertions(+), 13 deletions(-)
> 
> diff --git
> a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman
> dsLib.inf
> b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman
> dsLib.inf
> index 74ad5facf6b1..3741dac5d94c 100644
> ---
> a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman
> dsLib.inf
> +++
> b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman
> d
> +++ sLib.inf
> @@ -121,6 +121,7 @@ [Protocols]
>    gEfiBlockIoProtocolGuid                     ## SOMETIMES_CONSUMES
> gEfiSimplePointerProtocolGuid               ## SOMETIMES_CONSUMES
> gEfiCpuIo2ProtocolGuid                      ## SOMETIMES_CONSUMES+
> gEfiHiiDatabaseProtocolGuid                 ## SOMETIMES_CONSUMES  [Guids]
> gEfiGlobalVariableGuid          ## SOMETIMES_CONSUMES ## GUID@@ -130,3
> +131,11 @@ [Guids]
>    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
> ## SystemTablediff --git
> a/ShellPkg/Library/UefiShellDebug1CommandsLib/Dmem.c
> b/ShellPkg/Library/UefiShellDebug1CommandsLib/Dmem.c
> index c52c212a56f8..a609971f345e 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/UefiShellDebug1Comman
> dsLib.uni
> b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman
> dsLib.uni
> index 4fedc0d1493c..4041f0cd483e 100644
> ---
> a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman
> dsLib.uni
> +++
> b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman
> d
> +++ sLib.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"--
> 2.25.1
> 
> 
> 
> -=-=-=-=-=-=
> Groups.io Links: You receive all messages sent to this group.
> View/Reply Online (#102536):
> https://edk2.groups.io/g/devel/message/102536
> Mute This Topic: https://groups.io/mt/98068437/1768756
> Group Owner: devel+owner@edk2.groups.io
> Unsubscribe: https://edk2.groups.io/g/devel/unsub [zhichao.gao@intel.com]
> -=-=-=-=-=-=
> 


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [edk2-devel] [PATCH v2 1/1] ShellPkg: UefiShellDebug1CommandsLib: Uefi Config Tables in Dmem.c
       [not found]   ` <1754D92F14C81F18.26696@groups.io>
@ 2023-04-13  6:02     ` Gao, Zhichao
  0 siblings, 0 replies; 4+ messages in thread
From: Gao, Zhichao @ 2023-04-13  6:02 UTC (permalink / raw)
  To: devel@edk2.groups.io, Gao, Zhichao, sam.kaynor@arm.com
  Cc: Ni, Ray, sunny.Wang@arm.com, Samer.El-Haj-Mahmoud@arm.com

Merge at 42b0443599a69c703034079cf2bd389fa3a6bfde.

Thanks,
Zhichao

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Gao,
> Zhichao
> Sent: Tuesday, April 11, 2023 6:03 PM
> To: devel@edk2.groups.io; sam.kaynor@arm.com
> Cc: Ni, Ray <ray.ni@intel.com>; sunny.Wang@arm.com; Samer.El-Haj-
> Mahmoud@arm.com
> Subject: Re: [edk2-devel] [PATCH v2 1/1] ShellPkg:
> UefiShellDebug1CommandsLib: Uefi Config Tables in Dmem.c
> 
> The change is only for the coding style: make sure there is a white space
> between the function name and '('.
> I think you can keep the previous R-B.
> 
> Thanks,
> Zhichao
> 
> > -----Original Message-----
> > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Sam
> > Kaynor
> > Sent: Wednesday, April 5, 2023 4:11 AM
> > To: devel@edk2.groups.io
> > Cc: Sam Kaynor <sam.kaynor@arm.com>; Ni, Ray <ray.ni@intel.com>; Gao,
> > Zhichao <zhichao.gao@intel.com>; Sam Kaynor <Sam.Kaynor@arm.com>
> > Subject: [edk2-devel] [PATCH v2 1/1] ShellPkg:
> > UefiShellDebug1CommandsLib: Uefi Config Tables in Dmem.c
> >
> > Added entries for UEFI Config Tables not present in current Dmem output.
> > v2 for revising CI formatting errors.
> >
> > Cc: Ray Ni <ray.ni@intel.com>
> > Cc: Zhichao Gao <zhichao.gao@intel.com>
> > Signed-off-by: Sam Kaynor <Sam.Kaynor@arm.com>
> > ---
> >
> >
> ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Commands
> > Lib.inf |  9 ++
> >  ShellPkg/Library/UefiShellDebug1CommandsLib/Dmem.c                         | 99
> > ++++++++++++++++++--
> >
> >
> ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Commands
> > Lib.uni | 28 ++++--
> >  3 files changed, 123 insertions(+), 13 deletions(-)
> >
> > diff --git
> >
> a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman
> > dsLib.inf
> >
> b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman
> > dsLib.inf
> > index 74ad5facf6b1..3741dac5d94c 100644
> > ---
> >
> a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman
> > dsLib.inf
> > +++
> >
> b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman
> > d
> > +++ sLib.inf
> > @@ -121,6 +121,7 @@ [Protocols]
> >    gEfiBlockIoProtocolGuid                     ## SOMETIMES_CONSUMES
> > gEfiSimplePointerProtocolGuid               ## SOMETIMES_CONSUMES
> > gEfiCpuIo2ProtocolGuid                      ## SOMETIMES_CONSUMES+
> > gEfiHiiDatabaseProtocolGuid                 ## SOMETIMES_CONSUMES  [Guids]
> > gEfiGlobalVariableGuid          ## SOMETIMES_CONSUMES ## GUID@@ -
> 130,3
> > +131,11 @@ [Guids]
> >    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
> > ## SystemTablediff --git
> > a/ShellPkg/Library/UefiShellDebug1CommandsLib/Dmem.c
> > b/ShellPkg/Library/UefiShellDebug1CommandsLib/Dmem.c
> > index c52c212a56f8..a609971f345e 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/UefiShellDebug1Comman
> > dsLib.uni
> >
> b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman
> > dsLib.uni
> > index 4fedc0d1493c..4041f0cd483e 100644
> > ---
> >
> a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman
> > dsLib.uni
> > +++
> >
> b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman
> > d
> > +++ sLib.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"--
> > 2.25.1
> >
> >
> >
> > -=-=-=-=-=-=
> > Groups.io Links: You receive all messages sent to this group.
> > View/Reply Online (#102536):
> > https://edk2.groups.io/g/devel/message/102536
> > Mute This Topic: https://groups.io/mt/98068437/1768756
> > Group Owner: devel+owner@edk2.groups.io
> > Unsubscribe: https://edk2.groups.io/g/devel/unsub
> > [zhichao.gao@intel.com] -=-=-=-=-=-=
> >
> 
> 
> 
> 
> 


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-04-13  6:02 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-04 20:11 [PATCH v2 0/1] Add all UEFI Config Tables to Dmem output Sam Kaynor
2023-04-04 20:11 ` [PATCH v2 1/1] ShellPkg: UefiShellDebug1CommandsLib: Uefi Config Tables in Dmem.c Sam Kaynor
2023-04-11 10:02   ` [edk2-devel] " Gao, Zhichao
     [not found]   ` <1754D92F14C81F18.26696@groups.io>
2023-04-13  6:02     ` Gao, Zhichao

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox