public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Ni, Ray" <ray.ni@intel.com>
To: "Czajkowski, Maciej" <maciej.czajkowski@intel.com>,
	"devel@edk2.groups.io" <devel@edk2.groups.io>
Cc: "Chaganty, Rangasai V" <rangasai.v.chaganty@intel.com>
Subject: Re: [edk2platforms][PATCH v3 1/1] IntelSiliconPkg: Add IntelDieInfoProtocol
Date: Wed, 1 Dec 2021 00:58:12 +0000	[thread overview]
Message-ID: <BN0PR11MB56962F9C47EFD75B3234BA688C689@BN0PR11MB5696.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20211118151552.1560-2-maciej.czajkowski@intel.com>

Is there a reason to keep "Signature" field?

Do you expect consumers check the Signature before using? It's not a common practice in EDKII today.

Thanks,
ray

> -----Original Message-----
> From: Czajkowski, Maciej <maciej.czajkowski@intel.com>
> Sent: Thursday, November 18, 2021 11:16 PM
> To: devel@edk2.groups.io
> Cc: Ni, Ray <ray.ni@intel.com>; Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>
> Subject: [edk2platforms][PATCH v3 1/1] IntelSiliconPkg: Add IntelDieInfoProtocol
> 
> Added IntelDieInfo header into IntelSiliconPkg tree.
> The purpose is to have generic and unified interface for getting
> information about dies installed in the system.
> It will be implemented by silicon code.
> 
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Rangasai V Chaganty <rangasai.v.chaganty@intel.com>
> Signed-off-by: Maciej Czajkowski <maciej.czajkowski@intel.com>
> ---
> 
> Notes:
>     v3:
>     - added EDKII_ prefix to interface
>     - removed GUID definitons from .h file
>     - corrected descriptions
>     - made PPI/protocol GUIDs unique
> 
>     v2:
>     - added interface description
>     - added die specific GUIDs into .dec file
> 
>  Silicon/Intel/IntelSiliconPkg/Include/Protocol/IntelDieInfo.h | 96 ++++++++++++++++++++
>  Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec             |  9 ++
>  2 files changed, 105 insertions(+)
> 
> diff --git a/Silicon/Intel/IntelSiliconPkg/Include/Protocol/IntelDieInfo.h
> b/Silicon/Intel/IntelSiliconPkg/Include/Protocol/IntelDieInfo.h
> new file mode 100644
> index 000000000000..6fb13ab287b6
> --- /dev/null
> +++ b/Silicon/Intel/IntelSiliconPkg/Include/Protocol/IntelDieInfo.h
> @@ -0,0 +1,96 @@
> +/** @file
> 
> +  IntelDieInfo definition
> 
> +
> 
> +  Copyright (c) 2021, Intel Corporation. All rights reserved.<BR>
> 
> +  SPDX-License-Identifier: BSD-2-Clause-Patent
> 
> +
> 
> +**/
> 
> +#ifndef _DIE_INFO_PROTOCOL_H_
> 
> +#define _DIE_INFO_PROTOCOL_H_
> 
> +
> 
> +typedef struct _EDKII_INTEL_DIE_INFO_PROTOCOL  EDKII_INTEL_DIE_INFO_PROTOCOL;
> 
> +typedef EDKII_INTEL_DIE_INFO_PROTOCOL  EDKII_INTEL_DIE_INFO_PPI;
> 
> +
> 
> +extern EFI_GUID gIntelDieInfoProtocolGuid;
> 
> +extern EFI_GUID gIntelDieInfoPpiGuid;
> 
> +
> 
> +extern EFI_GUID gIntelDieInfoPchGuid;
> 
> +extern EFI_GUID gIntelDieInfoSocGuid;
> 
> +extern EFI_GUID gIntelDieInfoIoGuid;
> 
> +extern EFI_GUID gIntelDieInfoCpuGuid;
> 
> +extern EFI_GUID gIntelDieInfoGfxGuid;
> 
> +
> 
> +#define DIE_INFO_PROTOCOL_REVISION 1
> 
> +#define DIE_INFO_PROTOCOL_SIGNATURE  SIGNATURE_32 ('I', 'D', 'I', 'P')
> 
> +
> 
> +/**
> 
> +  Returns pointer to constant string representing die name.
> 
> +  Name is specific to die type.
> 
> +
> 
> +  @param[in] This  Pointer to the DieInfoProtocol context structure
> 
> +  @retval Pointer to the const string
> 
> +**/
> 
> +typedef
> 
> +CONST CHAR8*
> 
> +(EFIAPI *EDKII_INTEL_DIE_INFO_GET_DIE_NAME_STR) (
> 
> +  IN EDKII_INTEL_DIE_INFO_PROTOCOL  *This
> 
> +  );
> 
> +
> 
> +/**
> 
> +  Returns pointer to constant string representing stepping of the die.
> 
> +
> 
> +  @param[in] This  Pointer to the DieInfoProtocol context structure
> 
> +  @retval Pointer to the const string
> 
> +**/
> 
> +typedef
> 
> +CONST CHAR8*
> 
> +(EFIAPI *EDKII_INTEL_DIE_INFO_GET_STEPPING_STR) (
> 
> +  IN EDKII_INTEL_DIE_INFO_PROTOCOL  *This
> 
> +  );
> 
> +
> 
> +/**
> 
> +  Returns pointer to constant string representing SKU of the die.
> 
> +
> 
> +  @param[in] This  Pointer to the DieInfoProtocol context structure
> 
> +  @retval Pointer to the const string
> 
> +**/
> 
> +typedef
> 
> +CONST CHAR8*
> 
> +(EFIAPI *EDKII_INTEL_DIE_INFO_GET_SKU_STR) (
> 
> +  IN EDKII_INTEL_DIE_INFO_PROTOCOL  *This
> 
> +  );
> 
> +
> 
> +/**
> 
> +  Protocol/PPI definition.
> 
> +  The purpose of this interface is to serve die-specific informations in a unified, generic way.
> 
> +  It will be produced by silicon code per die, and can be consumed by any module that needs contained information.
> 
> +
> 
> +  <b>Revision 1</b>:
> 
> +   - Initial version.
> 
> +**/
> 
> +struct _EDKII_INTEL_DIE_INFO_PROTOCOL {
> 
> +  UINT32                                 Signature; ///< Protocol signature
> 
> +  UINT32                                 Revision; ///< Current protocol revision
> 
> +  /**
> 
> +    Type of the die that particular instance is reffering to.
> 
> +  **/
> 
> +  EFI_GUID                               Type;
> 
> +  /**
> 
> +    Index of the die in the package.
> 
> +  **/
> 
> +  UINT32                                 DieIndex;
> 
> +  /**
> 
> +    Unique ID specific to the die and the associated generation.
> 
> +  **/
> 
> +  UINT64                                 DieId;
> 
> +  /**
> 
> +    Generation and die specific stepping ID.
> 
> +  **/
> 
> +  UINT32                                 SteppingId;
> 
> +
> 
> +  EDKII_INTEL_DIE_INFO_GET_DIE_NAME_STR  GetNameStr;
> 
> +  EDKII_INTEL_DIE_INFO_GET_STEPPING_STR  GetSteppingStr;
> 
> +  EDKII_INTEL_DIE_INFO_GET_SKU_STR       GetSkuStr;
> 
> +};
> 
> +
> 
> +#endif // _DIE_INFO_PROTOCOL_H_
> 
> diff --git a/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec b/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec
> index 1704f9e02541..ee53f5fb902c 100644
> --- a/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec
> +++ b/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec
> @@ -92,6 +92,13 @@ [Guids]
>    gFlashRegionAllGuid               = { 0xbabe60dc, 0xf88d, 0x4584, {0x9e, 0x54, 0x57, 0x44, 0x4b, 0xe2, 0x6e, 0xf3 } }
> 
>    gFlashRegionMaxGuid               = { 0x74c2e3c1, 0x8faa, 0x4659, {0xa7, 0xbb, 0x87, 0x1f, 0xbb, 0x61, 0xd3, 0xb4 } }
> 
> 
> 
> +  ## Include/Protocol/IntelDieInfo.h
> 
> +  gIntelDieInfoPchGuid = { 0x62CB6D68, 0x4771, 0x4569, { 0x81, 0xFA, 0x1E, 0x99, 0x6E, 0xA9, 0x91, 0xC5 }}
> 
> +  gIntelDieInfoSocGuid = { 0x63287105, 0x578E, 0x4799, { 0xBE, 0x55, 0x5D, 0xDA, 0xCA, 0x03, 0x74, 0xD0 }}
> 
> +  gIntelDieInfoIoGuid = { 0x23DA4C74, 0x54A0, 0x4E01, { 0x83, 0xB1, 0x8C, 0xA7, 0x43, 0x43, 0x1F, 0xF0 }}
> 
> +  gIntelDieInfoCpuGuid = { 0x6E5AF2E3, 0x5D84, 0x48F2, { 0x84, 0x28, 0x99, 0xE4, 0x93, 0x4F, 0x51, 0xE4 }}
> 
> +  gIntelDieInfoGfxGuid = { 0x1D3D2599, 0x7A1C, 0x4B1E, { 0x8C, 0xC5, 0x0F, 0x88, 0x27, 0xA0, 0x2E, 0xEC }}
> 
> +
> 
>  [Ppis]
> 
>    ## Include/Ppi/Spi.h
> 
>    gPchSpiPpiGuid = { 0x104c7177, 0xc2e6, 0x44f0, { 0xae, 0xe3, 0x9d, 0x0d, 0x9a, 0x52, 0xca, 0xdf } }
> 
> @@ -101,6 +108,7 @@ [Ppis]
> 
> 
>    gEdkiiVTdInfoPpiGuid = { 0x8a59fcb3, 0xf191, 0x400c, { 0x97, 0x67, 0x67, 0xaf, 0x2b, 0x25, 0x68, 0x4a } }
> 
>    gEdkiiVTdNullRootEntryTableGuid = { 0x3de0593f, 0x6e3e, 0x4542, { 0xa1, 0xcb, 0xcb, 0xb2, 0xdb, 0xeb, 0xd8, 0xff } }
> 
> +  gIntelDieInfoPpiGuid = { 0xF9E45CBF, 0x1E21, 0x434A, { 0x90, 0x88, 0x1D, 0x10, 0x38, 0xF3, 0x68, 0xF2 }}
> 
> 
> 
>  [Protocols]
> 
>    ## Protocols that provide services for the Intel(R) PCH SPI Host Controller Compatibility Interface
> 
> @@ -114,6 +122,7 @@ [Protocols]
>    gPchSmmSpi2ProtocolGuid = { 0x2d1c0c43, 0x20d3, 0x40ae, { 0x99, 0x07, 0x2d, 0xf0, 0xe7, 0x91, 0x21, 0xa5 } }
> 
> 
> 
>    gEdkiiPlatformVTdPolicyProtocolGuid = { 0x3d17e448, 0x466, 0x4e20, { 0x99, 0x9f, 0xb2, 0xe1, 0x34, 0x88, 0xee, 0x22 }}
> 
> +  gIntelDieInfoProtocolGuid = { 0xAED8A0A1, 0xFDE6, 0x4CF2, { 0xA3, 0x85, 0x08, 0xF1, 0x25, 0xF2, 0x40, 0x37 }}
> 
> 
> 
>    ## Protocol for device security policy.
> 
>    # Include/Protocol/PlatformDeviceSecurityPolicy.h
> 
> --
> 2.27.0.windows.1


  reply	other threads:[~2021-12-01  0:58 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-18 15:15 [edk2platforms][PATCH v3 0/1] IntelSiliconPkg: Add IntelDieInfoProtocol Maciej Czajkowski
2021-11-18 15:15 ` [edk2platforms][PATCH v3 1/1] " Maciej Czajkowski
2021-12-01  0:58   ` Ni, Ray [this message]
2021-12-03 16:14     ` Maciej Czajkowski
2021-12-06  1:51       ` Ni, Ray

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=BN0PR11MB56962F9C47EFD75B3234BA688C689@BN0PR11MB5696.namprd11.prod.outlook.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