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.czajkow...@intel.com> > Sent: Thursday, November 18, 2021 11:16 PM > To: devel@edk2.groups.io > Cc: Ni, Ray <ray...@intel.com>; Chaganty, Rangasai V > <rangasai.v.chaga...@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...@intel.com> > Cc: Rangasai V Chaganty <rangasai.v.chaga...@intel.com> > Signed-off-by: Maciej Czajkowski <maciej.czajkow...@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 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#84171): https://edk2.groups.io/g/devel/message/84171 Mute This Topic: https://groups.io/mt/87145136/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-