public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Laszlo Ersek <lersek@redhat.com>
To: "Duran, Leo" <leo.duran@amd.com>,
	"edk2-devel@ml01.01.org" <edk2-devel@ml01.01.org>
Cc: "feng.tian@intel.com" <feng.tian@intel.com>,
	"Singh, Brijesh" <brijesh.singh@amd.com>,
	"ard.biesheuvel@linaro.org" <ard.biesheuvel@linaro.org>,
	"jordan.l.justen@intel.com" <jordan.l.justen@intel.com>,
	"prince.agyeman@intel.com" <prince.agyeman@intel.com>,
	"star.zeng@intel.com" <star.zeng@intel.com>
Subject: Re: [RFC 0/6] DxeBmDmaLib
Date: Thu, 12 Jan 2017 17:44:39 +0100	[thread overview]
Message-ID: <3fdcc1ed-e2b8-35d0-5808-0e00142a1988@redhat.com> (raw)
In-Reply-To: <DM5PR12MB12433BFE9F5AC379786A7813F9790@DM5PR12MB1243.namprd12.prod.outlook.com>

On 01/12/17 17:04, Duran, Leo wrote:
> 
> 
>> -----Original Message-----
>> From: Laszlo Ersek [mailto:lersek@redhat.com]
>> Sent: Thursday, January 12, 2017 3:51 AM
>> To: Duran, Leo <leo.duran@amd.com>; edk2-devel@ml01.01.org
>> Cc: feng.tian@intel.com; Singh, Brijesh <brijesh.singh@amd.com>;
>> ard.biesheuvel@linaro.org; jordan.l.justen@intel.com;
>> prince.agyeman@intel.com; star.zeng@intel.com
>> Subject: Re: [edk2] [RFC 0/6] DxeBmDmaLib
>>
>> On 01/10/17 01:16, Leo Duran wrote:
>>> 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).
>>>
>>> This new (BmDmaLib class) library is modeled after the existing DmaLib
>>> plus 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.
>>
>> * Ard, I remember you worked on >=4GB DMA stuff before, can you please
>> look over this series?
>>
>> * Leo, can you confirm that patches #1 and #6 implement nothing more than
>> code movement? If they implement more than that (judging from the new
>> DmaAbove4GB parameter above), can you specify how exactly?
>>
>> The source code changes in patches #2 and #5 look okay, but before I'm
>> comfortable acking them, I'd like to understand the scope of the code
>> movement between #1 and #6.
> [Duran, Leo] 
> Laszlo, it's more than just code movement.
> - Patch#1 clones the existing implementation from PciHostBridgeDxe,
>  but the ported code is simplified a bit by the addition of the 'DmaAbove4GB' parameter.
> - Patch#6 removes the ported code from PciHostBridgeDxe to leverage the library.

Okay, thanks. Makes sense.

I'm aware that the exact library interfaces are still under discussion
(wrt. generality for example), but as long as we keep the above scheme,
you can add (and carry forward), to patches #2 and #5, my

Reviewed-by: Laszlo Ersek <lersek@redhat.com>

Thanks!
Laszlo



> 
>>
>> * Also, I suggest the following subject line template for patches #2 through
>> #5:
>>
>>   XxxPkg: resolve BmDmaLib class for PciHostBridgeDxe driver
>>
>> * For patch #1, I suggest restricting the client module types to DXE_DRIVER in
>> the INF file:
>>
>>   LIBRARY_CLASS                  = BmDmaLib|DXE_DRIVER
>>
>> Thanks
>> Laszlo
> [Duran, Leo] 
> OK,  sounds good to me. Thanks.
> 
>>
>>
>>>
>>> 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.
>>>
>>>  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
>>> 100644 MdeModulePkg/Include/Library/BmDmaLib.h
>>>  create mode 100644
>> MdeModulePkg/Library/DxeBmDmaLib/DxeBmDmaLib.c
>>>  create mode 100644
>> MdeModulePkg/Library/DxeBmDmaLib/DxeBmDmaLib.inf
>>>
> 



      reply	other threads:[~2017-01-12 16:44 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-10  0:16 [RFC 0/6] DxeBmDmaLib Leo Duran
2017-01-10  0:16 ` [RFC 1/6] MdeModulePkg: Add DxeBmDmaLib library Leo Duran
2017-01-10  0:47   ` Andrew Fish
2017-01-10  5:51     ` Duran, Leo
2017-01-10  0:16 ` [RFC 2/6] ArmVirtPkg: Modify .DSC files that include PciHostBridgeDxe driver Leo Duran
2017-01-10  0:16 ` [RFC 3/6] CorebootPayloadPkg: " Leo Duran
2017-01-10  3:56   ` Ma, Maurice
2017-01-10  0:16 ` [RFC 4/6] MdeModulePkg: " Leo Duran
2017-01-10  0:17 ` [RFC 5/6] OvmfPkg: " Leo Duran
2017-01-10  0:17 ` [RFC 6/6] MdeModulePkg: Modify PciHostBridgeDxe to use new BmDmaLib library Leo Duran
2017-01-12  5:43 ` [RFC 0/6] DxeBmDmaLib Ni, Ruiyu
2017-01-12 15:55   ` Duran, Leo
2017-01-12  9:51 ` Laszlo Ersek
2017-01-12 16:04   ` Duran, Leo
2017-01-12 16:44     ` Laszlo Ersek [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3fdcc1ed-e2b8-35d0-5808-0e00142a1988@redhat.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox