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=hcOG8pmm; spf=pass (domain: intel.com, ip: 134.134.136.20, mailfrom: michael.a.kubacki@intel.com) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by groups.io with SMTP; Wed, 02 Oct 2019 18:02:31 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 02 Oct 2019 18:02:30 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.67,250,1566889200"; d="scan'208";a="366882040" Received: from orsmsx106.amr.corp.intel.com ([10.22.225.133]) by orsmga005.jf.intel.com with ESMTP; 02 Oct 2019 18:02:30 -0700 Received: from ORSEDG001.ED.cps.intel.com (10.7.248.4) by ORSMSX106.amr.corp.intel.com (10.22.225.133) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 2 Oct 2019 18:02:30 -0700 Received: from NAM03-DM3-obe.outbound.protection.outlook.com (104.47.41.56) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 2 Oct 2019 18:02:30 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RH+hcAN3Md9PU9jr9/OU+pBiEzJggFC7O9r3BuNjtNFy5/vnrBPsRgGIHRJzy+KjwEd/x7lJav6QLyTKlee1LcSrm30Wt8pJvbbH+DK25+4Aohb5ZWJpI63nYYwFkbF1oNNSgjj97nGdPhD14v6wooLYfD3Hfy3I2ZANbBKn4+zkM7aEwXUQOxoCRs60E1oxFLAaFQWCgAIHDg50cSeqsRddh0cvVue6xkDiOKSMl7yUAEJBBr2ShZF6x31qnLNXxay/WBDSDaIYFdlO9kZsrQ/E3rkgzPwsagd3aotMZZ7S5pHR5WNOcDo3q7xW3VLdCtiDAh6gSCmuunfeVL0HOQ== 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=IJFhR1zIZj/Uvyc/GBlZ+vr7QwBnv80qTkGlnoz5tc0=; b=bb/YTWljrn6CpRZEYcuGF3U+Mps0ywMsZ49ISkar1bn2gZNRyBHpjBPMBzgQJVuQ/JWxMMGrjMgxJHV53IYAZqRIDTMbVYmNOlfR2e6mCJjCukQ2CClJ+lTr/BsFyINPvR6w5WPMpSXieQXRJKAPpySu06oIp5Yc/hlTYcP+62KslHF6+4cbw5hzednRYwNvyAAV78eCeQW1POV4SLbCrBhXRGULV2/MNHzBlRpiGZpST2RpRNn8aGlYHNQVSVPcqc3fPDetEdAadvL4aPjhZaUa7e7nqByibW1NwUHga4DPAYpGg+8MAFpbi1BQCXXv/IjrvWStm/+8EceH6jWWRg== 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=IJFhR1zIZj/Uvyc/GBlZ+vr7QwBnv80qTkGlnoz5tc0=; b=hcOG8pmmMwCnFEVqn/vyyy+Jq8IhhglOcrH6P7rUDKkSp6IZekYtXvkroVuTZH8gfkE80cyPcYJ5UB41KYamwDYPdm3atdI1FQleJCffXR3Ca93FN6Y3+MT1g9qY3AfwdFijiJpyUUO+LNv21hEpjV7Up7w8IUhHhM7r+gG27LE= Received: from DM6PR11MB3834.namprd11.prod.outlook.com (20.179.17.87) by DM6PR11MB2986.namprd11.prod.outlook.com (20.177.217.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2305.20; Thu, 3 Oct 2019 01:02:28 +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.2305.023; Thu, 3 Oct 2019 01:02:28 +0000 From: "Kubacki, Michael A" To: "Chaganty, Rangasai V" , "devel@edk2.groups.io" CC: "Dong, Eric" , "Gao, Liming" , "Ni, Ray" Subject: Re: [edk2-platforms][PATCH V1 0/3] Add FW Boot Media Device Indicator Thread-Topic: [edk2-platforms][PATCH V1 0/3] Add FW Boot Media Device Indicator Thread-Index: AQHVd/XI0MuHFQNjtkOEcbKKkAGKsKdH+pKQgAALMkA= Date: Thu, 3 Oct 2019 01:02:28 +0000 Message-ID: References: <20191001011547.14588-1-michael.a.kubacki@intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows x-ctpclassification: CTP_NT x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMmQ3MzdmZDUtYTE3OS00NGM1LTlmNTUtMGVlNTZlNGZjYThhIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiRDU5YyttMWRTQ2l3eHJndjJHZHM3QVZSWithWXRDTEFzQ2ZzdDJkVmZKRlNXZVpjQ0lOXC9YV3RPZWZnbU9jaVQifQ== 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: 722626c2-85e7-46ff-c594-08d7479d5c95 x-ms-traffictypediagnostic: DM6PR11MB2986: x-ms-exchange-purlcount: 1 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:10000; x-forefront-prvs: 01792087B6 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(346002)(366004)(39850400004)(396003)(376002)(136003)(189003)(199004)(13464003)(14454004)(476003)(11346002)(478600001)(6116002)(3846002)(5660300002)(6436002)(76116006)(71190400001)(52536014)(2906002)(305945005)(66946007)(81166006)(486006)(66476007)(66556008)(64756008)(66446008)(26005)(66066001)(966005)(74316002)(25786009)(186003)(7736002)(71200400001)(110136005)(55016002)(8676002)(2501003)(316002)(446003)(102836004)(4326008)(53546011)(7696005)(6506007)(229853002)(256004)(6306002)(14444005)(99286004)(54906003)(76176011)(8936002)(6246003)(33656002)(86362001)(81156014)(107886003)(9686003);DIR:OUT;SFP:1102;SCL:1;SRVR:DM6PR11MB2986;H:DM6PR11MB3834.namprd11.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 1TKv3oKQxTma7bztXzI+yK9MRYC4CkrAmXGqvOYPX0wFV+E9Otqp7/PmJIar6Nwhn6LY9qFwKl+QD29+n1KOXcNk+4mc+u2Eb2kMra7c4X7C6HDFDytx6LnJxADtehDmy8zY1zIX4KCvvML9XdZ9FTJIr3idooJw12I4t1Ns3SjUL+NxgRO4e7rl864ohSAAaMlBukDjdI0+QnP+SGGB30b+Wc2kw88WBKv567E3t+z9/VfDeT4ABVClhzp6hDDIl7wDhrtouYKKLamYYo3EzG4h98T/pTyt1YZBxQ/smoD/8eQvRy3Cl/hnOpY4MUZpBwqH894WfoWMZCUUMFB0M7B6Ju1mtAP7x2jIgQxnx80V8Af1TlwHFznZ+KCHJiRIsnqvYVw7WyJcXlizqf5VZnJS+gdBUHslcGMo78npRTlGkJ7gvZE6Bec3lOKUzVD05Ntw+8JWKcYCO4EBkNnzBQ== MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 722626c2-85e7-46ff-c594-08d7479d5c95 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Oct 2019 01:02:28.2332 (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: AsPMTxoTmUceVkasBQKnFFhXR29Q5OxCSZO7lZeweRQd3CLpe2KTkLas7iAtJG8oEUmlkK0PB6+OsFXYJfINCGS8jHe282oLgRgWeHHZdDQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB2986 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 In platforms built for boot media other than SPI flash there has been a com= pelling need for silicon and platform code to be aware of the firmware boot media b= ut apart from the UEFI variable driver (which is a special case being addresse= d here - https://github.com/makubacki/edk2/tree/storage_agnostic_uefi_variabl= es), this has not been the case for edk2 repository packages. In some cases, cod= e in SEC has made assumptions about the reset vector or FIT pointer that do not nece= ssarily translate to storage media that does not support MMIO. These cases have bee= n handled more gracefully than checking the firmware boot media technology. T= his is just an observation, not necessarily a case for it to stay in IntelSiliconP= kg (which does make it accessible to Intel silicon and platform code). I suppose the firmware boot media properties could be treated in a similar = manner to Boot Mode as defined in the Platform Initialization spec. If this was do= ne, it may make more sense to abstract the technology impact onto firmware, for exampl= e, whether it supports MMIO or not (NOR vs NAND flash) instead of what is defi= ned here with specific technologies such as eMMC and UFS. Otherwise, the specif= ication describing this would be subject to constant expansion over time keeping pa= ce with new technologies and cross-generation code (not silicon or platform specifi= c drivers) may base conditionals on something like eMMC when its algorithm really appl= ies to all NAND media (which, again, has been the proven observation thus far outs= ide silicon and platform code). With that said, I see the firmware boot technology details being more perti= nent to silicon and platform code so that's why this change is made now. It can imm= ediately address existing needs for these details in silicon and platform code. Som= e form of the firmware boot media details in a more generic package could be useful b= ut it will likely not align closely with the scope of information needed at this = level and is an undertaking, that in my opinion, is separate but compatible with the wor= k done here. > -----Original Message----- > From: Chaganty, Rangasai V > Sent: Wednesday, October 2, 2019 4:03 PM > To: Kubacki, Michael A ; > devel@edk2.groups.io > Cc: Dong, Eric ; Gao, Liming ; > Ni, Ray > Subject: RE: [edk2-platforms][PATCH V1 0/3] Add FW Boot Media Device > Indicator >=20 > I am not sure if there is a silicon scope around the FirmwareBootMediaLib= . > Have we considered adding this interface to MdePkg, instead? >=20 > -----Original Message----- > From: Kubacki, Michael A > Sent: Monday, September 30, 2019 6:16 PM > To: devel@edk2.groups.io > Cc: Chaganty, Rangasai V ; Dong, Eric > ; Gao, Liming ; Ni, Ray > > Subject: [edk2-platforms][PATCH V1 0/3] Add FW Boot Media Device > Indicator >=20 > This patch series introduces a mechanism for determining the firmware boo= t > media device. This allows the firmware boot media to be discovered throug= h > a standardized API. >=20 > Traditionally, most systems have only supported firmware storage on SPI > flash. Presently, several other storage technologies are being used to st= ore > boot system firmware such as eMMC, UFS, and NVMe. >=20 > The API for all board, platform, and silicon code to consume the firmware > boot media device is provided by the FirmwareBootMediaLib in > IntelSiliconPkg. >=20 > A driver (FirmwareBootMediaInfoPei) is added to BoardModulePkg to serve > as a consistent location for reporting the firmware boot device informati= on. > In order to abstract the potentially hardware-specific details to determi= ne > the boot media (for platforms that support multiple firmware boot media > devices), the driver retrieves the boot media information using a new lib= rary > class introduced called FirmwareBootMediaInfoLib. A default instance of t= his > library class is provided in BoardModulePkg that always returns SPI flash= . This > is intended to serve as a default implementation of the library for the m= ost > common scenario and to easily allow a board package to substitute the log= ic > required to determine the boot media in more complex scenarios. > Ultimately, FirmwareBootMediaInfoPei produces a HOB containing the > firmware boot media device information so it can be used in the HOB > consumer phase. >=20 > Cc: Sai Chaganty > Cc: Eric Dong > Cc: Liming Gao > Cc: Ray Ni > Signed-off-by: Michael Kubacki >=20 > Michael Kubacki (3): > IntelSiliconPkg/FirmwareBootMediaLib: Add library > BoardModulePkg/FirmwareBootMediaInfoLib: Add library > BoardModulePkg/FirmwareBootMediaInfoPei: Add module >=20 > Platform/Intel/BoardModulePkg/BoardModulePkg.dec > | 3 + > Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec = | 4 > +- > Platform/Intel/BoardModulePkg/BoardModulePkg.dsc > | 5 + > Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dsc = | 4 > +- >=20 > Platform/Intel/BoardModulePkg/FirmwareBootMediaInfo/FirmwareBootMe > diaInfoPei.inf | 46 +++++++++ >=20 > Platform/Intel/BoardModulePkg/Library/PeiFirmwareBootMediaInfoLib/Pei > FirmwareBootMediaInfoLib.inf | 35 +++++++ >=20 > Silicon/Intel/IntelSiliconPkg/Library/PeiDxeSmmBootMediaLib/DxeSmmFirm > wareBootMediaLib.inf | 43 ++++++++ >=20 > Silicon/Intel/IntelSiliconPkg/Library/PeiDxeSmmBootMediaLib/PeiFirmwareB > ootMediaLib.inf | 38 +++++++ >=20 > Platform/Intel/BoardModulePkg/Include/Library/FirmwareBootMediaInfoLi > b.h | 26 +++++ > Silicon/Intel/IntelSiliconPkg/Include/Library/FirmwareBootMediaLib.h > | 106 +++++++++++++++++++ >=20 > Platform/Intel/BoardModulePkg/FirmwareBootMediaInfo/FirmwareBootMe > diaInfoPei.c | 76 ++++++++++++++ >=20 > Platform/Intel/BoardModulePkg/Library/PeiFirmwareBootMediaInfoLib/Pei > FirmwareBootMediaInfoLib.c | 24 +++++ >=20 > Silicon/Intel/IntelSiliconPkg/Library/PeiDxeSmmBootMediaLib/DxeSmmFirm > wareBootMediaLib.c | 107 +++++++++++++++++++ >=20 > Silicon/Intel/IntelSiliconPkg/Library/PeiDxeSmmBootMediaLib/FirmwareBoo > tMediaLib.c | 109 ++++++++++++++++++++ >=20 > Silicon/Intel/IntelSiliconPkg/Library/PeiDxeSmmBootMediaLib/PeiFirmwareB > ootMediaLib.c | 82 +++++++++++++++ > 15 files changed, 706 insertions(+), 2 deletions(-) create mode 100644 > Platform/Intel/BoardModulePkg/FirmwareBootMediaInfo/FirmwareBootMe > diaInfoPei.inf > create mode 100644 > Platform/Intel/BoardModulePkg/Library/PeiFirmwareBootMediaInfoLib/Pei > FirmwareBootMediaInfoLib.inf > create mode 100644 > Silicon/Intel/IntelSiliconPkg/Library/PeiDxeSmmBootMediaLib/DxeSmmFirm > wareBootMediaLib.inf > create mode 100644 > Silicon/Intel/IntelSiliconPkg/Library/PeiDxeSmmBootMediaLib/PeiFirmwareB > ootMediaLib.inf > create mode 100644 > Platform/Intel/BoardModulePkg/Include/Library/FirmwareBootMediaInfoLi > b.h > create mode 100644 > Silicon/Intel/IntelSiliconPkg/Include/Library/FirmwareBootMediaLib.h > create mode 100644 > Platform/Intel/BoardModulePkg/FirmwareBootMediaInfo/FirmwareBootMe > diaInfoPei.c > create mode 100644 > Platform/Intel/BoardModulePkg/Library/PeiFirmwareBootMediaInfoLib/Pei > FirmwareBootMediaInfoLib.c > create mode 100644 > Silicon/Intel/IntelSiliconPkg/Library/PeiDxeSmmBootMediaLib/DxeSmmFirm > wareBootMediaLib.c > create mode 100644 > Silicon/Intel/IntelSiliconPkg/Library/PeiDxeSmmBootMediaLib/FirmwareBoo > tMediaLib.c > create mode 100644 > Silicon/Intel/IntelSiliconPkg/Library/PeiDxeSmmBootMediaLib/PeiFirmwareB > ootMediaLib.c >=20 > -- > 2.16.2.windows.1 >=20