public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Gao, Zhichao" <zhichao.gao@intel.com>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>,
	"abner.chang@hpe.com" <abner.chang@hpe.com>
Cc: "Carsey, Jaben" <jaben.carsey@intel.com>,
	"Ni, Ray" <ray.ni@intel.com>,
	Leif Lindholm <leif.lindholm@linaro.org>,
	Gilbert Chen <gilbert.chen@hpe.com>
Subject: Re: [edk2-devel] [PATCH v6 3/3] ShellPkg/UefiShellDebug1CommandsLib: Update to support SmBios 3.3.0
Date: Wed, 9 Oct 2019 07:45:46 +0000	[thread overview]
Message-ID: <3CE959C139B4C44DBEA1810E3AA6F9000B851B60@SHSMSX101.ccr.corp.intel.com> (raw)
In-Reply-To: <1570603672-13955-1-git-send-email-abner.chang@hpe.com>

Thanks for take my suggestion. But you may forget the other one.
What I said is that moving the display functions into one function, not just removing one of them.
Here is the example:
VOID
DisplayProcessorArchitectureType (
  IN UINT8 Key,
  IN UINT8 Option
  )
{
  ShellPrintHiiEx (-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PROCESSOR_ARCH_TYPE), gShellDebug1HiiHandle);
  PRINT_INFO_OPTION (Key, Option);
  PRINT_TABLE_ITEM (ProcessorArchitectureTypesTable, Key);
}

And you should add the STR_SMBIOSVIEW_QUERYTABLE_PROCESSOR_ARCH_TYPE to the SmbiosViewStrings.uni file with an appropriate string like "Process Architecture Type:".

In my opinion, PRINT_STRUCT_VALUE_H is used to print the field's name and hex value without any explain of the value. And DisplayXXX function is used to display the field's name, field's value and the meaning of the value.

Thanks,
Zhichao

> -----Original Message-----
> From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
> Abner Chang
> Sent: Wednesday, October 9, 2019 2:48 PM
> To: devel@edk2.groups.io
> Cc: abner.chang@hpe.com; Carsey, Jaben <jaben.carsey@intel.com>; Ni,
> Ray <ray.ni@intel.com>; Gao, Zhichao <zhichao.gao@intel.com>; Leif
> Lindholm <leif.lindholm@linaro.org>; Gilbert Chen <gilbert.chen@hpe.com>
> Subject: [edk2-devel] [PATCH v6 3/3]
> ShellPkg/UefiShellDebug1CommandsLib: Update to support SmBios 3.3.0
> 
> Shell command smbiosview updates for SMBIOS 3.3.0 spec.
> 
> Bugzilla link,
> https://bugzilla.tianocore.org/show_bug.cgi?id=2202
> 
> Signed-off-by: Abner Chang <abner.chang@hpe.com>
> 
> Cc: Jaben Carsey <jaben.carsey@intel.com>
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Zhichao Gao <zhichao.gao@intel.com>
> Cc: Leif Lindholm <leif.lindholm@linaro.org>
> Cc: Gilbert Chen <gilbert.chen@hpe.com>
> ---
>  .../SmbiosView/PrintInfo.c                         | 22 +++++++-
>  .../SmbiosView/PrintInfo.h                         | 13 ++++-
>  .../SmbiosView/QueryTable.c                        | 63 +++++++++++++++++++++-
>  .../UefiShellDebug1CommandsLib.uni                 |  3 +-
>  4 files changed, 97 insertions(+), 4 deletions(-)
> 
> diff --git
> a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c
> b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c
> index cfd7a2b..4989102 100644
> ---
> a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c
> +++
> b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c
> @@ -3,7 +3,7 @@
> 
>    Copyright (c) 2005 - 2018, Intel Corporation. All rights reserved.<BR>
>    (C) Copyright 2014 Hewlett-Packard Development Company, L.P.<BR>
> -  (C) Copyright 2015-2017 Hewlett Packard Enterprise Development LP<BR>
> +  (C) Copyright 2015-2019 Hewlett Packard Enterprise Development LP<BR>
>    SPDX-License-Identifier: BSD-2-Clause-Patent
> 
>  **/
> @@ -1169,6 +1169,14 @@ SmbiosPrintStructure (
>      break;
> 
>    //
> +  // Processor Additional Information (Type 44)  //  case 44:
> +    PRINT_STRUCT_VALUE_H (Struct, Type44, RefHandle);
> +    DisplayProcessorArchitectureType (Struct->Type44-
> >ProcessorSpecificBlock.ProcessorArchType, Option);
> +    break;
> +
> +  //
>    // Inactive (Type 126)
>    //
>    case 126:
> @@ -2350,6 +2358,18 @@ DisplayProcessorFamily2 (
>        Print (L"Video Processor\n");
>        break;
> 
> +    case 0x200:
> +      Print (L"RISC-V RV32\n");
> +      break;
> +
> +    case 0x201:
> +      Print (L"RISC-V RV64\n");
> +      break;
> +
> +    case 0x202:
> +      Print (L"RISC-V RV128\n");
> +      break;
> +
>      default:
>       ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN
> (STR_SMBIOSVIEW_PRINTINFO_UNDEFINED_PROC_FAMILY),
> gShellDebug1HiiHandle);
>    }
> diff --git
> a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.h
> b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.h
> index a8c32ab..77a86fc 100644
> ---
> a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.h
> +++
> b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.h
> @@ -2,7 +2,7 @@
>    Module to clarify the element info of the smbios structure.
> 
>    Copyright (c) 2005 - 2015, Intel Corporation. All rights reserved.<BR>
> -  (C) Copyright 2017 Hewlett Packard Enterprise Development LP<BR>
> +  (C) Copyright 2017 - 2019 Hewlett Packard Enterprise Development
> + LP<BR>
>    SPDX-License-Identifier: BSD-2-Clause-Patent
> 
>  **/
> @@ -427,4 +427,15 @@ DisplayTpmDeviceCharacteristics (
>    IN UINT8   Option
>    );
> 
> +/**
> +  Display Processor Architecture Type (Type 44).
> +
> +  @param[in] Key           The key of the structure.
> +  @param[in] Option         The optional information.
> +**/
> +VOID
> +DisplayProcessorArchitectureType (
> +  IN UINT8 Key,
> +  IN UINT8 Option
> +  );
>  #endif
> diff --git
> a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.
> c
> b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.
> c
> index bfb7c3b..ef098ad 100644
> ---
> a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.
> c
> +++
> b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.
> +++ c
> @@ -3,7 +3,7 @@
>    And give a interface of query a string out of a table.
> 
>    Copyright (c) 2005 - 2018, Intel Corporation. All rights reserved.<BR>
> -  (C) Copyright 2016-2017 Hewlett Packard Enterprise Development LP<BR>
> +  (C) Copyright 2016-2019 Hewlett Packard Enterprise Development LP<BR>
>    SPDX-License-Identifier: BSD-2-Clause-Patent
> 
>  **/
> @@ -620,6 +620,10 @@ TABLE_ITEM  ProcessorCharacteristicsTable[] = {
>    {
>      7,
>      L" Power/Performance Control"
> +  },
> +  {
> +    8,
> +    L" 128-bit Capable"
>    }
>  };
> 
> @@ -3268,6 +3272,44 @@ TABLE_ITEM  MCHostInterfaceTypeTable[] = {
>    },
>  };
> 
> +TABLE_ITEM  ProcessorArchitectureTypesTable[] = {
> +  {
> +    0,
> +    L" Reserved "
> +  },
> +  {
> +    1,
> +    L" IA32 (x86) "
> +  },
> +  {
> +    2,
> +    L" x64 (x86-64, intel64, AMD64, EM64T) "
> +  },
> +  {
> +    3,
> +    L" Intel Itanium architecture "
> +  },
> +  {
> +    4,
> +    L" 32-bit ARM (Aarch32) "
> +  },
> +  {
> +    5,
> +    L" 64-bit ARM (Aarch64) "
> +  },
> +  {
> +    6,
> +    L" 32-bit RISC-V (RV32) "
> +  },
> +  {
> +    7,
> +    L" 64-bit RISC-V (RV64) "
> +  },
> +  {
> +    8,
> +    L" 128-bit RISC-V (RV128) "
> +  }
> +};
> 
>  TABLE_ITEM  StructureTypeInfoTable[] = {
>    {
> @@ -3447,6 +3489,10 @@ TABLE_ITEM  StructureTypeInfoTable[] = {
>      L" TPM Device"
>    },
>    {
> +    44,
> +    L" Processor Additional Information"
> +  },
> +  {
>      0x7E,
>      L" Inactive"
>    },
> @@ -4697,6 +4743,21 @@ DisplayMCHostInterfaceType (  }
> 
>  /**
> +  Display Processor Architecture Type (Type 44).
> +
> +  @param[in] Key           The key of the structure.
> +  @param[in] Option         The optional information.
> +**/
> +VOID
> +DisplayProcessorArchitectureType (
> +  IN UINT8 Key,
> +  IN UINT8 Option
> +  )
> +{
> +  PRINT_TABLE_ITEM (ProcessorArchitectureTypesTable, Key); }
> +
> +/**
>    Display the structure type information.
> 
>    @param[in] Key      The key of the structure.
> diff --git
> a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman
> dsLib.uni
> b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman
> dsLib.uni
> index 42a9295..6693be2 100644
> ---
> a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman
> dsLib.uni
> +++
> b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman
> d
> +++ sLib.uni
> @@ -2,7 +2,7 @@
>  //
>  // Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>  // (C)
> Copyright 2013-2015 Hewlett-Packard Development Company, L.P.<BR> -//
> (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
> +// (C) Copyright 2016 - 2019 Hewlett Packard Enterprise Development
> +LP<BR>
>  // SPDX-License-Identifier: BSD-2-Clause-Patent  //  // Module Name:
> @@ -976,6 +976,7 @@
>  "       41 - Onboard Devices Extended Information\r\n"
>  "       42 - Management Controller Host Interface\r\n"
>  "       43 - TPM Device\r\n"
> +"       44 - Processor Additional Information\r\n"
>  "  2. Enter the SmbiosHandle parameter in hexadecimal format.\r\n"
>  "     Do not use the '0x' prefix format for hexadecimal values.\r\n"
>  "  3. Internal commands:\r\n"
> --
> 2.7.4
> 
> 
> 


  reply	other threads:[~2019-10-09  7:45 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-09  6:47 [PATCH v6 3/3] ShellPkg/UefiShellDebug1CommandsLib: Update to support SmBios 3.3.0 Abner Chang
2019-10-09  7:45 ` Gao, Zhichao [this message]
2019-10-15  8:19   ` [edk2-devel] " Abner Chang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3CE959C139B4C44DBEA1810E3AA6F9000B851B60@SHSMSX101.ccr.corp.intel.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox