Looks good to me.

Reviewed-by Samer El-Haj-Mahmoud <samer.el-haj-mahm...@arm.com>

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Gao,
> Zhichao via groups.io
> Sent: Thursday, February 16, 2023 4:18 AM
> To: Sunny Wang <sunny.w...@arm.com>; devel@edk2.groups.io; Sam
> Kaynor <sam.kay...@arm.com>
> Cc: Ni, Ray <ray...@intel.com>
> Subject: Re: [edk2-devel] [PATCH v1 1/1] ShellPkg:
> UefiShellDebug1CommandsLib: Uefi Config Tables in Dmem.c
>
> Reviewed-by: Zhichao Gao <zhichao....@intel.com>
>
> Thanks,
> Zhichao
>
> > -----Original Message-----
> > From: Sunny Wang <sunny.w...@arm.com>
> > Sent: Tuesday, February 14, 2023 11:57 PM
> > To: devel@edk2.groups.io; Sam Kaynor <sam.kay...@arm.com>
> > Cc: Ni, Ray <ray...@intel.com>; Gao, Zhichao <zhichao....@intel.com>;
> > Sunny Wang <sunny.w...@arm.com>
> > Subject: RE: [edk2-devel] [PATCH v1 1/1] ShellPkg:
> > UefiShellDebug1CommandsLib: Uefi Config Tables in Dmem.c
> >
> > Looks good to me. Thanks for working on this, Sam.
> > Just for others' information, I also had an offline discussion with Sam.
> >     - This is change is based on UEFI 2.10 section 4.6. EFI Configuration 
> > Table
> &
> > Properties Table
> > https://uefi.org/specs/UEFI/2.10/04_EFI_System_Table.html#efi-
> > configuration-table-properties-table.
> >     - The link of pull request is 
> > https://github.com/tianocore/edk2/pull/4038
> >
> > Reviewed-by: Sunny Wang <sunny.w...@arm.com>
> >
> > -----Original Message-----
> > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Sam
> > Kaynor via groups.io
> > Sent: 07 February 2023 21:20
> > To: devel@edk2.groups.io
> > Cc: Sam Kaynor <sam.kay...@arm.com>; Ray Ni <ray...@intel.com>;
> > Zhichao Gao <zhichao....@intel.com>
> > Subject: [edk2-devel] [PATCH v1 1/1] ShellPkg:
> > UefiShellDebug1CommandsLib: Uefi Config Tables in Dmem.c
> >
> > Added entries for UEFI Config Tables not present in current Dmem output.
> >
> > Cc: Ray Ni <ray...@intel.com>
> > Cc: Zhichao Gao <zhichao....@intel.com>
> > Signed-off-by: Sam Kaynor <sam.kay...@arm.com>
> > ---
> >
> >
> ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Commands
> > Lib.inf |  9 ++
> >  ShellPkg/Library/UefiShellDebug1CommandsLib/Dmem.c                         
> > | 89
> > ++++++++++++++++++--
> >
> >
> ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Commands
> > Lib.uni | 28 ++++--
> >  3 files changed, 112 insertions(+), 14 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 ##
> > SystemTable
> >
> > diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/Dmem.c
> > b/ShellPkg/Library/UefiShellDebug1CommandsLib/Dmem.c
> > index c52c212a56f8..e2aed306d466 100644
> > --- a/ShellPkg/Library/UefiShellDebug1CommandsLib/Dmem.c
> > +++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/Dmem.c
> > @@ -10,9 +10,16 @@
> >
> >
> >  #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>
> >
> > +#include <Guid/JsonCapsule.h>
> >
> >
> >
> >  /**
> >
> >    Make a printable character.
> >
> > @@ -108,6 +115,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 +187,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;
> >
> > @@ -193,11 +224,43 @@ ShellCommandRunDmem (
> >                SmbiosTableAddress = (UINT64)(UINTN)gST-
> > >ConfigurationTable[TableWalker].VendorTable;
> >
> >                continue;
> >
> >              }
> >
> > -
> >
> >              if (CompareGuid (&gST-
> > >ConfigurationTable[TableWalker].VendorGuid, &gEfiMpsTableGuid)) {
> >
> >                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;
> >
> > +            }
> >
> > +            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;
> >
> > +            }
> >
> > +            if
> > + (CompareGuid(&gST->ConfigurationTable[TableWalker].VendorGuid,
> > + &gEfiHiiDatabaseProtocolGuid)) {
> >
> > +              HiiDatabaseExportBufferAddress =
> > + (UINT64)(UINTN)gST->ConfigurationTable[TableWalker].VendorTable;
> >
> > +            }
> >
> >            }
> >
> >
> >
> >            ShellPrintHiiEx (
> >
> > @@ -218,7 +281,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 b1d239ed37ea..c1067a0474cd 100644
> > ---
> >
> a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman
> > dsLib.uni
> > +++
> >
> b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman
> > d
> > +++ sLib.uni
> > @@ -108,13 +108,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 (#99774):
> https://edk2.groups.io/g/devel/message/99774
> > Mute This Topic: https://groups.io/mt/96817141/5985097
> > Group Owner: devel+ow...@edk2.groups.io
> > Unsubscribe: https://edk2.groups.io/g/devel/unsub
> > [sunny.w...@arm.com] -=-=-=-=-=-=
> >
> >
> > IMPORTANT NOTICE: The contents of this email and any attachments are
> > confidential and may also be privileged. If you are not the intended
> recipient,
> > please notify the sender immediately and do not disclose the contents to
> any
> > other person, use it for any purpose, or store or copy the information in
> any
> > medium. Thank you.
>
>
> 
>

IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium. Thank you.


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#100547): https://edk2.groups.io/g/devel/message/100547
Mute This Topic: https://groups.io/mt/96817141/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to