From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.151, mailfrom: nathaniel.l.desimone@intel.com) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by groups.io with SMTP; Wed, 19 Jun 2019 20:55:03 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 19 Jun 2019 20:55:02 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.63,395,1557212400"; d="scan'208";a="168404194" Received: from orsmsx104.amr.corp.intel.com ([10.22.225.131]) by FMSMGA003.fm.intel.com with ESMTP; 19 Jun 2019 20:55:02 -0700 Received: from orsmsx114.amr.corp.intel.com ([169.254.8.32]) by ORSMSX104.amr.corp.intel.com ([169.254.4.70]) with mapi id 14.03.0439.000; Wed, 19 Jun 2019 20:55:00 -0700 From: "Nate DeSimone" To: "Chiu, Chasel" , "Ni, Ray" , "devel@edk2.groups.io" CC: "Zeng, Star" Subject: Re: [edk2-devel] [PATCH v2] IntelFsp2Pkg: add TempRamExitPpi.h. Thread-Topic: [edk2-devel] [PATCH v2] IntelFsp2Pkg: add TempRamExitPpi.h. Thread-Index: AQHVJLY8wcdjrMYmskCt6uq3GIY386afpNkAgAS4rgD//4tpcA== Date: Thu, 20 Jun 2019 03:54:59 +0000 Message-ID: <02A34F284D1DA44BB705E61F7180EF0AAEC6FF30@ORSMSX114.amr.corp.intel.com> References: <20190617024137.9436-1-chasel.chiu@intel.com> <734D49CCEBEEF84792F5B80ED585239D5C1CF649@SHSMSX104.ccr.corp.intel.com> <3C3EFB470A303B4AB093197B6777CCEC503758BA@PGSMSX111.gar.corp.intel.com> In-Reply-To: <3C3EFB470A303B4AB093197B6777CCEC503758BA@PGSMSX111.gar.corp.intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZDdkNjA2NzgtYzQ5Ni00MzFkLTkxOTktYTIyZTYwNmI0Zjc3IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiZDRlZkl2UUNjYmU1bHlnbkhlWGtVMXlzakFwN2dEaVB4SEFpSlBGT1BGSkZiaFAxZEtYTzk3VlwvMmROM2VQZ3gifQ== x-ctpclassification: CTP_NT x-originating-ip: [10.22.254.139] MIME-Version: 1.0 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi All, The decision to use FSP_TEMP_RAM_EXIT_PPI for both FSP and non-FSP builds = is a platform level decision. There are several EDK2 based UEFI implementat= ions that do not use FSP_TEMP_RAM_EXIT_PPI, OvmfPkg, Minnow, and Quark are = some of many examples. There is nothing in the UEFI PI spec or the MinPlatf= orm spec mandating that this PPI be implemented. This PPI is however mandat= ed by the FSP spec. As a matter of convenience, if a platform implements th= e FSP spec, it is easiest to also implement this PPI even on a non-FSP buil= d. This PPI was added to the FSP spec because our prior experience has show= n that such a PPI makes it easier to implement platform agnostic SEC phase = code. Furthermore, IntelFsp2Pkg may not have any dependencies on IntelSiliconPkg= , it is only allowed to depend on MdePkg since FSP is an industry standard. Accordingly, I agree with Chasel that two copies of this PPI are currently= merited: 1. IntelFsp2Pkg 2. IntelSiliconPkg I agree with Chasel that depending on ecosystem adoption of FSP we can con= sider dropping the duplicate from IntelSiliconPkg in the future. Thanks, Nate -----Original Message----- From: Chiu, Chasel=20 Sent: Wednesday, June 19, 2019 8:33 PM To: Ni, Ray ; devel@edk2.groups.io Cc: Desimone, Nathaniel L ; Zeng, Star Subject: RE: [edk2-devel] [PATCH v2] IntelFsp2Pkg: add TempRamExitPpi.h. Hi Ray, Currently we prefer to duplicate header files so we do not have IntelFsp2P= kg dependency for non-FSP build. We will review for how to support FSP/non-FSP builds better. Thanks! Chasel > -----Original Message----- > From: Ni, Ray > Sent: Monday, June 17, 2019 11:27 AM > To: devel@edk2.groups.io; Chiu, Chasel > Cc: Desimone, Nathaniel L ; Zeng, Star= =20 > > Subject: RE: [edk2-devel] [PATCH v2] IntelFsp2Pkg: add TempRamExitPpi.h. >=20 > Chasel, > I found another instance of this PPI in=20 > edk2-platforms/Silicon/Intel/KabylakeSiliconPkg/Include/Ppi. > Will you remove that one after this is checked in? >=20 >=20 > Thanks, > Ray >=20 > > -----Original Message----- > > From: devel@edk2.groups.io On Behalf Of Chiu,= =20 > > Chasel > > Sent: Monday, June 17, 2019 10:42 AM > > To: devel@edk2.groups.io > > Cc: Desimone, Nathaniel L ; Zeng,=20 > > Star > > Subject: [edk2-devel] [PATCH v2] IntelFsp2Pkg: add TempRamExitPpi.h. > > > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D1883 > > > > Add header file for FSP_TEMP_RAM_EXIT_PPI which is defined by FSP=20 > > 2.1 spec. > > > > Test: Build successfully. > > > > Cc: Nate DeSimone > > Cc: Star Zeng > > Signed-off-by: Chasel Chiu > > --- > > IntelFsp2Pkg/Include/Ppi/TempRamExitPpi.h | 52 > > ++++++++++++++++++++++++++++++++++++++++++++++++++++ > > IntelFsp2Pkg/IntelFsp2Pkg.dec | 5 +++++ > > 2 files changed, 57 insertions(+) > > > > diff --git a/IntelFsp2Pkg/Include/Ppi/TempRamExitPpi.h > > b/IntelFsp2Pkg/Include/Ppi/TempRamExitPpi.h > > new file mode 100644 > > index 0000000000..0db54dfa45 > > --- /dev/null > > +++ b/IntelFsp2Pkg/Include/Ppi/TempRamExitPpi.h > > @@ -0,0 +1,52 @@ > > +/** @file > > + This file defines the Silicon Temp Ram Exit PPI which implements=20 > > +the > > + required programming steps for disabling temporary memory. > > + > > +Copyright (c) 2019, Intel Corporation. All rights reserved.
> > +SPDX-License-Identifier: BSD-2-Clause-Patent > > + > > +**/ > > + > > +#ifndef _FSP_TEMP_RAM_EXIT_PPI_H_ > > +#define _FSP_TEMP_RAM_EXIT_PPI_H_ > > + > > +/// > > +/// Global ID for the FSP_TEMP_RAM_EXIT_PPI. > > +/// > > +#define FSP_TEMP_RAM_EXIT_GUID \ > > + { \ > > + 0xbc1cfbdb, 0x7e50, 0x42be, { 0xb4, 0x87, 0x22, 0xe0, 0xa9,=20 > > +0x0c, 0xb0, 0x52 } \ > > + } > > + > > +// > > +// Forward declaration for the FSP_TEMP_RAM_EXIT_PPI. > > +// > > +typedef struct _FSP_TEMP_RAM_EXIT_PPI FSP_TEMP_RAM_EXIT_PPI; > > + > > +/** > > + Silicon function for disabling temporary memory. > > + @param[in] TempRamExitParamPtr - Pointer to the TempRamExit > > parameters structure. > > + This structure is normally=20 > > + defined in the > Integration > > + Guide. If it is not defined in the= Integration Guide, > > + pass NULL. > > + @retval EFI_SUCCESS - FSP execution environment was init= ialized > > successfully. > > + @retval EFI_INVALID_PARAMETER - Input parameters are invalid. > > + @retval EFI_UNSUPPORTED - The FSP calling conditions were no= t > met. > > + @retval EFI_DEVICE_ERROR - Temporary memory exit. > > +**/ > > +typedef > > +EFI_STATUS > > +(EFIAPI *FSP_TEMP_RAM_EXIT) ( > > + IN VOID *TempRamExitParamPtr > > + ); > > + > > +/// > > +/// This PPI provides function to disable temporary memory. > > +/// > > +struct _FSP_TEMP_RAM_EXIT_PPI { > > + FSP_TEMP_RAM_EXIT TempRamExit; > > +}; > > + > > +extern EFI_GUID gFspTempRamExitPpiGuid; > > + > > +#endif // _FSP_TEMP_RAM_EXIT_PPI_H_ > > diff --git a/IntelFsp2Pkg/IntelFsp2Pkg.dec=20 > > b/IntelFsp2Pkg/IntelFsp2Pkg.dec index cc17164742..ad2b7f7fb5 100644 > > --- a/IntelFsp2Pkg/IntelFsp2Pkg.dec > > +++ b/IntelFsp2Pkg/IntelFsp2Pkg.dec > > @@ -49,6 +49,11 @@ > > # > > gFspInApiModePpiGuid =3D { 0xa1eeab87, 0xc859, 0x4= 79d, > {0x89, > > 0xb5, 0x14, 0x61, 0xf4, 0x06, 0x1a, 0x3e}} > > > > + # > > + # PPI to tear down the temporary memory set up by TempRamInit (). > > + # > > + gFspTempRamExitPpiGuid =3D {0xbc1cfbdb, 0x7e50, 0x42be, {0xb4,= 0x87, > > 0x22, 0xe0, 0xa9, 0x0c, 0xb0, 0x52}} > > + > > [Guids] > > # > > # GUID defined in package > > -- > > 2.13.3.windows.1 > > > > > >=20