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.136, mailfrom: rangasai.v.chaganty@intel.com) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by groups.io with SMTP; Wed, 02 Oct 2019 16:03:25 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 02 Oct 2019 16:03:25 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.67,250,1566889200"; d="scan'208";a="221569452" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by fmsmga002.fm.intel.com with ESMTP; 02 Oct 2019 16:03:25 -0700 Received: from fmsmsx112.amr.corp.intel.com (10.18.116.6) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 2 Oct 2019 16:03:25 -0700 Received: from fmsmsx108.amr.corp.intel.com ([169.254.9.205]) by FMSMSX112.amr.corp.intel.com ([169.254.5.177]) with mapi id 14.03.0439.000; Wed, 2 Oct 2019 16:03:24 -0700 From: "Chaganty, Rangasai V" 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 Thread-Topic: [edk2-platforms][PATCH V1 0/3] Add FW Boot Media Device Indicator Thread-Index: AQHVd/XI0MuHFQNjtkOEcbKKkAGKsKdH+pKQ Date: Wed, 2 Oct 2019 23:03:24 +0000 Message-ID: References: <20191001011547.14588-1-michael.a.kubacki@intel.com> In-Reply-To: <20191001011547.14588-1-michael.a.kubacki@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: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMmQ3MzdmZDUtYTE3OS00NGM1LTlmNTUtMGVlNTZlNGZjYThhIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiRDU5YyttMWRTQ2l3eHJndjJHZHM3QVZSWithWXRDTEFzQ2ZzdDJkVmZKRlNXZVpjQ0lOXC9YV3RPZWZnbU9jaVQifQ== x-ctpclassification: CTP_NT x-originating-ip: [10.1.200.108] MIME-Version: 1.0 Return-Path: rangasai.v.chaganty@intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable I am not sure if there is a silicon scope around the FirmwareBootMediaLib. = Have we considered adding this interface to MdePkg, instead? -----Original Message----- From: Kubacki, Michael A=20 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 This patch series introduces a mechanism for determining the firmware boot = media device. This allows the firmware boot media to be discovered through = a standardized API. Traditionally, most systems have only supported firmware storage on SPI fla= sh. Presently, several other storage technologies are being used to store b= oot system firmware such as eMMC, UFS, and NVMe. The API for all board, platform, and silicon code to consume the firmware b= oot media device is provided by the FirmwareBootMediaLib in IntelSiliconPkg= . A driver (FirmwareBootMediaInfoPei) is added to BoardModulePkg to serve as = a consistent location for reporting the firmware boot device information. I= n order to abstract the potentially hardware-specific details to determine = the boot media (for platforms that support multiple firmware boot media dev= ices), the driver retrieves the boot media information using a new library = class introduced called FirmwareBootMediaInfoLib. A default instance of thi= s 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 most common scenario and to easily allow a board package to substitute = the logic required to determine the boot media in more complex scenarios. U= ltimately, FirmwareBootMediaInfoPei produces a HOB containing the firmware = boot media device information so it can be used in the HOB consumer phase. Cc: Sai Chaganty Cc: Eric Dong Cc: Liming Gao Cc: Ray Ni Signed-off-by: Michael Kubacki Michael Kubacki (3): IntelSiliconPkg/FirmwareBootMediaLib: Add library BoardModulePkg/FirmwareBootMediaInfoLib: Add library BoardModulePkg/FirmwareBootMediaInfoPei: Add module Platform/Intel/BoardModulePkg/BoardModulePkg.dec = | 3 + Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec = | 4 +- Platform/Intel/BoardModulePkg/BoardModulePkg.dsc = | 5 + Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dsc = | 4 +- Platform/Intel/BoardModulePkg/FirmwareBootMediaInfo/FirmwareBootMediaInfoP= ei.inf | 46 +++++++++ Platform/Intel/BoardModulePkg/Library/PeiFirmwareBootMediaInfoLib/PeiFirmw= areBootMediaInfoLib.inf | 35 +++++++ Silicon/Intel/IntelSiliconPkg/Library/PeiDxeSmmBootMediaLib/DxeSmmFirmware= BootMediaLib.inf | 43 ++++++++ Silicon/Intel/IntelSiliconPkg/Library/PeiDxeSmmBootMediaLib/PeiFirmwareBoo= tMediaLib.inf | 38 +++++++ Platform/Intel/BoardModulePkg/Include/Library/FirmwareBootMediaInfoLib.h = | 26 +++++ Silicon/Intel/IntelSiliconPkg/Include/Library/FirmwareBootMediaLib.h = | 106 +++++++++++++++++++ Platform/Intel/BoardModulePkg/FirmwareBootMediaInfo/FirmwareBootMediaInfoP= ei.c | 76 ++++++++++++++ Platform/Intel/BoardModulePkg/Library/PeiFirmwareBootMediaInfoLib/PeiFirmw= areBootMediaInfoLib.c | 24 +++++ Silicon/Intel/IntelSiliconPkg/Library/PeiDxeSmmBootMediaLib/DxeSmmFirmware= BootMediaLib.c | 107 +++++++++++++++++++ Silicon/Intel/IntelSiliconPkg/Library/PeiDxeSmmBootMediaLib/FirmwareBootMe= diaLib.c | 109 ++++++++++++++++++++ Silicon/Intel/IntelSiliconPkg/Library/PeiDxeSmmBootMediaLib/PeiFirmwareBoo= tMediaLib.c | 82 +++++++++++++++ 15 files changed, 706 insertions(+), 2 deletions(-) create mode 100644 Pl= atform/Intel/BoardModulePkg/FirmwareBootMediaInfo/FirmwareBootMediaInfoPei.= inf create mode 100644 Platform/Intel/BoardModulePkg/Library/PeiFirmwareBootMe= diaInfoLib/PeiFirmwareBootMediaInfoLib.inf create mode 100644 Silicon/Intel/IntelSiliconPkg/Library/PeiDxeSmmBootMedi= aLib/DxeSmmFirmwareBootMediaLib.inf create mode 100644 Silicon/Intel/IntelSiliconPkg/Library/PeiDxeSmmBootMedi= aLib/PeiFirmwareBootMediaLib.inf create mode 100644 Platform/Intel/BoardModulePkg/Include/Library/FirmwareB= ootMediaInfoLib.h create mode 100644 Silicon/Intel/IntelSiliconPkg/Include/Library/FirmwareB= ootMediaLib.h create mode 100644 Platform/Intel/BoardModulePkg/FirmwareBootMediaInfo/Fir= mwareBootMediaInfoPei.c create mode 100644 Platform/Intel/BoardModulePkg/Library/PeiFirmwareBootMe= diaInfoLib/PeiFirmwareBootMediaInfoLib.c create mode 100644 Silicon/Intel/IntelSiliconPkg/Library/PeiDxeSmmBootMedi= aLib/DxeSmmFirmwareBootMediaLib.c create mode 100644 Silicon/Intel/IntelSiliconPkg/Library/PeiDxeSmmBootMedi= aLib/FirmwareBootMediaLib.c create mode 100644 Silicon/Intel/IntelSiliconPkg/Library/PeiDxeSmmBootMedi= aLib/PeiFirmwareBootMediaLib.c -- 2.16.2.windows.1