From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=aZkmgjGA; spf=pass (domain: intel.com, ip: 192.55.52.151, mailfrom: michael.a.kubacki@intel.com) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by groups.io with SMTP; Mon, 07 Oct 2019 18:41:56 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 07 Oct 2019 18:41:55 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.67,269,1566889200"; d="scan'208";a="276964054" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by orsmga001.jf.intel.com with ESMTP; 07 Oct 2019 18:41:55 -0700 Received: from fmsmsx121.amr.corp.intel.com (10.18.125.36) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 7 Oct 2019 18:41:55 -0700 Received: from FMSEDG002.ED.cps.intel.com (10.1.192.134) by fmsmsx121.amr.corp.intel.com (10.18.125.36) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 7 Oct 2019 18:41:55 -0700 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (104.47.36.52) by edgegateway.intel.com (192.55.55.69) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 7 Oct 2019 18:41:55 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Xa/eCuIFJWV9P9xy2GMx3PVwGxyBOwoFVhSu29669UPNksNBwFYIoIckd1/BQRVEBsQztU71X26NRqxWWKuysl+0C2zRGm3v/6QTEV5vvK/jd+9SctHJkhagDFEIb9Gko+T6RPUk7VCG7TtbxcGjB0L0c/PIKWm9IM4U8UgiNgdbIjeR248ZF4pCxea1L14gaQuoRFxOcmdirUgPI1USf1dAhGe+L9LQdzJDn5tCFeuB46XZabJoYs/Xy4dlyrabIvdxQaCk1PFvXYEBSCHTTD2OEhz5WEcl4B0wGN2THkj00y+v4oNw0YRBteMzD2nVr4IjQlsrSnFSaCPPBQW+Aw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=euhLm5R8ZkUAh0ml+Aro1+/+/sJWlCe3wtzQ08q9Xac=; b=PXizYJRL9r1AUDbJUFRZrlgrhItJieTwd1EaCu0wJc0mcKCkyAQUSDLvyWlJDprHoFm/nsyctX+zln6B5xZQ3GqYUhzPMEuBSGqOiEOvlgF6aPpzzcaX40fhkJZvScOc58doHOJSf4ACTd+5bURFz8hkRKq03pZfqfLa0v5MtbnCz+tW2kc4t1P9m6H6dj7G5392dAASCloxHRJXrOyXUypZYOSe+mA9m/2D32MZgJO9tt6ZUUOXcaAEc9fONzXK+3D25bWNvoAJbSdIlEzZTIdc4vlNCIrW/dv8CaPuo356oobH1WFnIE/Gb9uKe3hJGcYwyc5B7Lzw4nGdMjBUmA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=euhLm5R8ZkUAh0ml+Aro1+/+/sJWlCe3wtzQ08q9Xac=; b=aZkmgjGAYGlvwSt9qvlVKbSeLqhR0vMIlK0a9FMSMuBhP79zw0OKF4owvQg6qcu4kE0fkCljYADNlWFitcGd9capqbKSMtBQvTlhjfCkMfRy3ofpqPdW1ElcAXV2Q1NkrQPmOXtfWyjuqnux8+Cssa+QYsyPMaVsTGoWL+vwf/o= Received: from DM6PR11MB3834.namprd11.prod.outlook.com (20.179.17.87) by DM6PR11MB2716.namprd11.prod.outlook.com (20.176.99.154) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2327.24; Tue, 8 Oct 2019 01:41:39 +0000 Received: from DM6PR11MB3834.namprd11.prod.outlook.com ([fe80::59cc:8a30:6b9e:584e]) by DM6PR11MB3834.namprd11.prod.outlook.com ([fe80::59cc:8a30:6b9e:584e%3]) with mapi id 15.20.2327.025; Tue, 8 Oct 2019 01:41:39 +0000 From: "Kubacki, Michael A" To: "devel@edk2.groups.io" , "Kubacki, Michael A" , "Agyeman, Prince" CC: "Sinha, Ankit" , "Desimone, Nathaniel L" Subject: Re: [edk2-devel] [edk2-platforms] [PATCH 2/5] KabylakeOpenBoardPkg/KabylakeRvp3: Add BIOS Info PEIM Thread-Topic: [edk2-devel] [edk2-platforms] [PATCH 2/5] KabylakeOpenBoardPkg/KabylakeRvp3: Add BIOS Info PEIM Thread-Index: AQHVei9m0zK0PQkS4020XzhvPkCdGadP+pPwgAAD27A= Date: Tue, 8 Oct 2019 01:41:39 +0000 Message-ID: References: <20191003211259.49664-1-prince.agyeman@intel.com> <20191003211259.49664-3-prince.agyeman@intel.com> <15CB87D9C8A2CD86.11065@groups.io> In-Reply-To: <15CB87D9C8A2CD86.11065@groups.io> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows x-ctpclassification: CTP_NT x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMTI3Nzg2ZTgtYTYwYS00ZjAzLWEwZjgtODc2MzIxYTYyNWYxIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiRVlja1JhSDV1azJpK3liTVwveXZ4dTBlRXRlcHZ5bmlmWmlGR0tHOUZBNk1RVkJUWUxQaTdkNnhwSjdFdVpxakEifQ== dlp-reaction: no-action dlp-version: 11.2.0.6 authentication-results: spf=none (sender IP is ) smtp.mailfrom=michael.a.kubacki@intel.com; x-originating-ip: [134.134.136.217] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 8ab88a05-c559-417d-d241-08d74b90a9ea x-ms-traffictypediagnostic: DM6PR11MB2716: x-ms-exchange-purlcount: 3 x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:4502; x-forefront-prvs: 01842C458A x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(39860400002)(396003)(376002)(346002)(366004)(136003)(13464003)(199004)(189003)(53546011)(55016002)(305945005)(74316002)(229853002)(6306002)(6436002)(19627235002)(486006)(9686003)(14444005)(256004)(6636002)(71200400001)(71190400001)(186003)(478600001)(8936002)(26005)(6116002)(3846002)(966005)(86362001)(110136005)(8676002)(476003)(316002)(446003)(81156014)(76176011)(14454004)(6506007)(81166006)(102836004)(52536014)(11346002)(64756008)(66556008)(66476007)(5660300002)(76116006)(99286004)(66446008)(2906002)(25786009)(54906003)(4326008)(66066001)(33656002)(66946007)(7696005)(7736002)(2501003)(107886003)(6246003);DIR:OUT;SFP:1102;SCL:1;SRVR:DM6PR11MB2716;H:DM6PR11MB3834.namprd11.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Uznuwj+UigpJYFm25YxWmaBCyGIKqBge3uM1BcVwh7dIQAYOQ0cmF5Gi+8xxjXGfNfJ2dz/MrMxNprKdOZKXapdJWc4yeiZo1be4cZcJ35DJ4PJoz32kCmEC7sbO2FLXwzlR62oIi8AqDz25Zu2ctmNJDrY/7JvnACzM0gCnUDOHAzB1skubHHTWuFx73XgHTTAU6m+0amOoVmjuv0iIRl9Cb4gFsXZGBUEyHkXGN0ndLMdBn9ocV7p/nAOuuwPHYaN3XdL1lCjLJiQM4kZWGnbwczNw860DWe8nBYWEWkeHzrnKQpdCZpj1tVXKM6DM9+SDYeVZV7+2RuIQS9MHR+1TwbdKFryc0qc+EO0RUK6Ts858Cp4Z+KrOLwad3CcVgddYMO5ZREuXv6IL807rbLOzaThiz2iYs9qmmxd59+d0rcw7o2qvoBWQ4Y+C9aDjFcZa5WThR+qJfVHT4Prz1w== MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 8ab88a05-c559-417d-d241-08d74b90a9ea X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Oct 2019 01:41:39.2688 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: HP/bJbh2n0r89eyokJQ256Ap2zud385p4AYHDCReTpyrm1rEaIehuMktZ+xCbijEK/ERro+dplzwPrfPCkUaOPdhSFKS3GhE8YVDE6ubjq0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB2716 Return-Path: michael.a.kubacki@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Please also fix the typo in the commit message "publishs". > -----Original Message----- > From: devel@edk2.groups.io On Behalf Of Kubacki, > Michael A > Sent: Monday, October 7, 2019 6:31 PM > To: Agyeman, Prince ; devel@edk2.groups.io > Cc: Sinha, Ankit ; Desimone, Nathaniel L > > Subject: Re: [edk2-devel] [edk2-platforms] [PATCH 2/5] > KabylakeOpenBoardPkg/KabylakeRvp3: Add BIOS Info PEIM >=20 > BiosInfo.c: >=20 > BiosInfoEntryPoint () function description should be updated. The functi= on > installs the BiosInfo PPI but also produces the BiosInfo HOB. >=20 > It also looks like you can remove the following macros: > #define INDEXPORT_TO_ADDRESS(x) (x) > #define DATAPORT_TO_ADDRESS(x) ((x) << 16) > #define PORTWIDTH_TO_ADDRESS(x) ((x) << 32) > #define PORTBITNUMBER_TO_ADDRESS(x) ((x) << 40) > #define PORTINDEXNUMBER_TO_ADDRESS(x) ((x) << 48) >=20 > > -----Original Message----- > > From: Agyeman, Prince > > Sent: Thursday, October 3, 2019 2:13 PM > > To: devel@edk2.groups.io > > Cc: Sinha, Ankit ; Desimone, Nathaniel L > > ; Kubacki, Michael A > > > > Subject: [edk2-platforms] [PATCH 2/5] > > KabylakeOpenBoardPkg/KabylakeRvp3: Add BIOS Info PEIM > > > > Added BIOS Info PEIM to KabylakeRvp3 to publish the BIOS info HOB. > > This PEIM currently publishs the board's microcode region info. > > > > Cc: Ankit Sinha > > Cc: Nate DeSimone > > Cc: Kubacki Michael A > > > > Signed-off-by: Prince Agyeman > > --- > > .../KabylakeRvp3/BiosInfo/BiosInfo.c | 93 ++++++++++++++++++= + > > .../KabylakeRvp3/BiosInfo/BiosInfo.inf | 48 ++++++++++ > > .../KabylakeRvp3/OpenBoardPkg.dsc | 2 + > > .../KabylakeRvp3/OpenBoardPkg.fdf | 1 + > > 4 files changed, 144 insertions(+) > > create mode 100644 > > Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/BiosInfo/BiosInfo.c > > create mode 100644 > > > Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/BiosInfo/BiosInfo.inf > > > > diff --git > > > a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/BiosInfo/BiosInfo.c > > > b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/BiosInfo/BiosInfo.c > > new file mode 100644 > > index 0000000000..6a058a0fc2 > > --- /dev/null > > +++ > > b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/BiosInfo/BiosInfo > > +++ .c > > @@ -0,0 +1,93 @@ > > +/** @file > > + Driver for BIOS Info support. > > + > > + Copyright (c) 2019, Intel Corporation. All rights reserved.
> > + SPDX-License-Identifier: BSD-2-Clause-Patent **/ > > + > > +#include > > +#include > > +#include > > +#include > > +#include > > +#include > > +#include > > +#include > > + > > +#define INDEXPORT_TO_ADDRESS(x) (x) > > +#define DATAPORT_TO_ADDRESS(x) ((x) << 16) > > +#define PORTWIDTH_TO_ADDRESS(x) ((x) << 32) > > +#define PORTBITNUMBER_TO_ADDRESS(x) ((x) << 40) > > +#define PORTINDEXNUMBER_TO_ADDRESS(x) ((x) << 48) > > + > > +// > > +// Internal > > +// > > +#pragma pack (1) > > + > > +typedef struct { > > + BIOS_INFO_HEADER Header; > > + BIOS_INFO_STRUCT Entry[1]; > > +} BIOS_INFO; > > +#pragma pack () > > + > > +GLOBAL_REMOVE_IF_UNREFERENCED BIOS_INFO mBiosInfo =3D { > > + { > > + BIOS_INFO_SIGNATURE, > > + 1, > > + 0, > > + }, > > + { > > + { > > + FIT_TYPE_01_MICROCODE, > > + BIOS_INFO_STRUCT_ATTRIBUTE_MICROCODE_WHOLE_REGION, > > + 0x0100, > > + FixedPcdGet32 (PcdFlashMicrocodeFvSize), > > + FixedPcdGet32 (PcdFlashMicrocodeFvBase) > > + } > > + } > > +}; > > + > > +GLOBAL_REMOVE_IF_UNREFERENCED EFI_PEI_PPI_DESCRIPTOR > > mBiosInfoPpiList > > +=3D { > > + EFI_PEI_PPI_DESCRIPTOR_PPI | > > EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST, > > + &gBiosInfoGuid, > > + &mBiosInfo > > +}; > > + > > +/** > > + Installs BiosInfo Ppi. > > + > > + @param FileHandle Handle of the file being invoked. > > + @param PeiServices Describes the list of possible PEI Services. > > + > > + @retval EFI_SUCCESS Install the BiosInfo Ppi successfully. > > + > > +**/ > > +EFI_STATUS > > +EFIAPI > > +BiosInfoEntryPoint ( > > + IN EFI_PEI_FILE_HANDLE FileHandle, > > + IN CONST EFI_PEI_SERVICES **PeiServices > > + ) > > +{ > > + EFI_STATUS Status; > > + VOID *HobData; > > + > > + // > > + // Install PPI, so that other PEI module can add dependency. > > + // > > + Status =3D PeiServicesInstallPpi (&mBiosInfoPpiList); > > + ASSERT_EFI_ERROR (Status); > > + > > + // > > + // Build hob, so that DXE module can also get the data. > > + // > > + HobData =3D BuildGuidHob (&gBiosInfoGuid, sizeof (mBiosInfo)); > > + ASSERT (HobData !=3D NULL); if (HobData =3D=3D NULL) { > > + return EFI_OUT_OF_RESOURCES; > > + } > > + CopyMem (HobData, &mBiosInfo, sizeof (mBiosInfo)); > > + > > + return EFI_SUCCESS; > > +} > > diff --git > > > a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/BiosInfo/BiosInfo.i > > nf > > > b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/BiosInfo/BiosInfo.i > > nf > > new file mode 100644 > > index 0000000000..94543408b1 > > --- /dev/null > > +++ > > b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/BiosInfo/BiosInfo > > +++ .inf > > @@ -0,0 +1,48 @@ > > +### @file > > +# Module Information description file for BIOS Info Driver # # > > +Copyright (c) 2019, Intel Corporation. All rights reserved.
# > > +SPDX-License-Identifier: BSD-2-Clause-Patent ### > > + > > +[Defines] > > + INF_VERSION =3D 0x00010017 > > + BASE_NAME =3D BiosInfo > > + FILE_GUID =3D C83BCE0E-6F16-4D3C-8D9F-4D6F5A03= 2929 > > + VERSION_STRING =3D 1.0 > > + MODULE_TYPE =3D PEIM > > + ENTRY_POINT =3D BiosInfoEntryPoint > > +# > > +# The following information is for reference only and not required by > > +the > > build tools. > > +# > > +# VALID_ARCHITECTURES IA32 X64 > > +# > > + > > +[LibraryClasses] > > + PeimEntryPoint > > + PeiServicesLib > > + HobLib > > + BaseMemoryLib > > + DebugLib > > + > > +[Packages] > > + MdePkg/MdePkg.dec > > + MdeModulePkg/MdeModulePkg.dec > > + IntelSiliconPkg/IntelSiliconPkg.dec > > + KabylakeSiliconPkg/SiPkg.dec > > + KabylakeFspBinPkg/KabylakeFspBinPkg.dec > > + BoardModulePkg/BoardModulePkg.dec > > + MinPlatformPkg/MinPlatformPkg.dec > > + > > +[Pcd] > > + gSiPkgTokenSpaceGuid.PcdFlashMicrocodeFvBase ## > > CONSUMES > > + gSiPkgTokenSpaceGuid.PcdFlashMicrocodeFvSize ## > CONSUMES > > + > > +[Sources] > > + BiosInfo.c > > + > > +[Guids] > > + gBiosInfoGuid ## PRODUCES > > + > > +[Depex] > > + TRUE > > diff --git > > > a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.dsc > > > b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.dsc > > index 7090852192..ef69a19aa4 100644 > > --- > > > a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.dsc > > +++ > > > b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.dsc > > @@ -324,6 +324,8 @@ > > } > > !endif > > > > + $(PROJECT)/BiosInfo/BiosInfo.inf > > + > > # > > # Security > > # > > diff --git > > > a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.fdf > > > b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.fdf > > index 2b8eab36a1..81181710e6 100644 > > --- > > > a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.fdf > > +++ > > > b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkg.fdf > > @@ -242,6 +242,7 @@ INF > > $(PLATFORM_PACKAGE)/PlatformInit/ReportFv/ReportFvPei.inf > > INF > > > $(PLATFORM_PACKAGE)/PlatformInit/PlatformInitPei/PlatformInitPreMem.i > > nf > > INF IntelFsp2WrapperPkg/FspmWrapperPeim/FspmWrapperPeim.inf > > INF > > > $(PLATFORM_PACKAGE)/PlatformInit/SiliconPolicyPei/SiliconPolicyPeiPreM > > e > > m.inf > > +INF $(PROJECT)/BiosInfo/BiosInfo.inf > > > > [FV.FvPostMemoryUncompact] > > BlockSize =3D $(FLASH_BLOCK_SIZE) > > -- > > 2.19.1.windows.1 >=20 >=20 >=20