From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 9369481C06 for ; Wed, 11 Jan 2017 21:44:14 -0800 (PST) Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga101.fm.intel.com with ESMTP; 11 Jan 2017 21:44:14 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,348,1477983600"; d="scan'208";a="1111422155" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by fmsmga002.fm.intel.com with ESMTP; 11 Jan 2017 21:44:14 -0800 Received: from FMSMSX109.amr.corp.intel.com (10.18.116.9) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.248.2; Wed, 11 Jan 2017 21:44:14 -0800 Received: from shsmsx103.ccr.corp.intel.com (10.239.4.69) by fmsmsx109.amr.corp.intel.com (10.18.116.9) with Microsoft SMTP Server (TLS) id 14.3.248.2; Wed, 11 Jan 2017 21:44:13 -0800 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.59]) by SHSMSX103.ccr.corp.intel.com ([10.239.4.69]) with mapi id 14.03.0248.002; Thu, 12 Jan 2017 13:44:00 +0800 From: "Ni, Ruiyu" To: Leo Duran , "edk2-devel@lists.01.org" CC: "Tian, Feng" , "brijesh.singh@amd.com" , "ard.biesheuvel@linaro.org" , "Justen, Jordan L" , "Agyeman, Prince" , "lersek@redhat.com" , "Zeng, Star" Thread-Topic: [edk2] [RFC 0/6] DxeBmDmaLib Thread-Index: AQHSatcDS/C72nftWU2jaxEIVnwtMKE0Vbww Date: Thu, 12 Jan 2017 05:43:59 +0000 Message-ID: <734D49CCEBEEF84792F5B80ED585239D5B87C1F3@SHSMSX104.ccr.corp.intel.com> References: <1484007421-15462-1-git-send-email-leo.duran@amd.com> In-Reply-To: <1484007421-15462-1-git-send-email-leo.duran@amd.com> Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [RFC 0/6] DxeBmDmaLib X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Jan 2017 05:44:14 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Leo, 1. What does "Bm" stand for in "BmDmaLib"? 2. Include/Library/BmDmaLib.h says " DMA abstraction library APIs. Based on PCI IO protocol DMA abstractio= ns." I think that means the BmDmaLib library class knows the PCI IO concept. If so, why not directly use the EFI_PCI_ROT_BRIDGE_IO_PROTOCOL_OPERATIO= N enum in this library class API, but invent a new BM_DMA_OPERATION enum = type? 3. Can you explain more about AMD's SEV? What will a new instance of this l= ibrary class look like for AMD's SEV? And what will ... for Andrew's usage mod= el? I am asking this question because I try to understand the needs of the = additional layer of abstraction. I want to make sure the additional layer is gener= ic enough not just to meet one silicon feature, but can meet a more wide range of= silicon features. Thanks/Ray > -----Original Message----- > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of > Leo Duran > Sent: Tuesday, January 10, 2017 8:17 AM > To: edk2-devel@lists.01.org > Cc: Tian, Feng ; brijesh.singh@amd.com; > ard.biesheuvel@linaro.org; Justen, Jordan L ; > Leo Duran ; Agyeman, Prince > ; lersek@redhat.com; Zeng, Star > > Subject: [edk2] [RFC 0/6] DxeBmDmaLib >=20 > This patch-set provides an abstraction layer for DMA operations > implemented by the PciHostBridgeDxe driver. The intent is to then allow > override of this library as may be required by specific hardware > implementations, such as AMD's Secure Encrypted Virtualization (SEV). >=20 > This new (BmDmaLib class) library is modeled after the existing DmaLib pl= us > an extra DmaAbove4GB (BOOLEAN) parameter in the Map and Allocate > interfaces, so that decisions can be made about the need to allocate DMA > buffers below the 4GB boundary. >=20 > Leo Duran (6): > MdeModulePkg: Add DxeBmDmaLib library > ArmVirtPkg: Modify .DSC files that include PciHostBridgeDxe driver > CorebootPayloadPkg: Modify .DSC files that include PciHostBridgeDxe > driver > MdeModulePkg: Modify .DSC files that include PciHostBridgeDxe driver > OvmfPkg: Modify .DSC files that include PciHostBridgeDxe driver > MdeModulePkg: Modify PciHostBridgeDxe to use new BmDmaLib library. >=20 > ArmVirtPkg/ArmVirtQemu.dsc | 1 + > ArmVirtPkg/ArmVirtQemuKernel.dsc | 1 + > CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc | 1 + > CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc | 1 + > .../Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf | 1 + > .../Bus/Pci/PciHostBridgeDxe/PciRootBridge.h | 13 +- > .../Bus/Pci/PciHostBridgeDxe/PciRootBridgeIo.c | 272 ++++-----------= - > MdeModulePkg/Include/Library/BmDmaLib.h | 161 ++++++++++ > MdeModulePkg/Library/DxeBmDmaLib/DxeBmDmaLib.c | 351 > +++++++++++++++++++++ > MdeModulePkg/Library/DxeBmDmaLib/DxeBmDmaLib.inf | 41 +++ > MdeModulePkg/MdeModulePkg.dsc | 3 + > OvmfPkg/OvmfPkgIa32.dsc | 1 + > OvmfPkg/OvmfPkgIa32X64.dsc | 1 + > OvmfPkg/OvmfPkgX64.dsc | 1 + > 14 files changed, 629 insertions(+), 220 deletions(-) create mode 10064= 4 > MdeModulePkg/Include/Library/BmDmaLib.h > create mode 100644 > MdeModulePkg/Library/DxeBmDmaLib/DxeBmDmaLib.c > create mode 100644 > MdeModulePkg/Library/DxeBmDmaLib/DxeBmDmaLib.inf >=20 > -- > 1.9.1 >=20 > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel