From: "Duran, Leo" <leo.duran@amd.com>
To: 'Laszlo Ersek' <lersek@redhat.com>,
"edk2-devel@ml01.01.org" <edk2-devel@ml01.01.org>
Cc: "Singh, Brijesh" <brijesh.singh@amd.com>,
"liming.gao@intel.com" <liming.gao@intel.com>,
"michael.d.kinney@intel.com" <michael.d.kinney@intel.com>,
"jeff.fan@intel.com" <jeff.fan@intel.com>
Subject: Re: [PATCH 0/4] *** BaseIoFifoLib ***
Date: Thu, 5 Jan 2017 20:47:57 +0000 [thread overview]
Message-ID: <DM5PR12MB1243E76115C2E3620CCFAB15F9600@DM5PR12MB1243.namprd12.prod.outlook.com> (raw)
In-Reply-To: <6f0fe479-96d1-9c86-2a93-27f4f9dc2cef@redhat.com>
Lazlo,
Thanks for the thorough feedback... I just sent out v2.
Leo.
> -----Original Message-----
> From: Laszlo Ersek [mailto:lersek@redhat.com]
> Sent: Thursday, January 05, 2017 11:25 AM
> To: Duran, Leo <leo.duran@amd.com>; edk2-devel@ml01.01.org
> Cc: Singh, Brijesh <brijesh.singh@amd.com>; liming.gao@intel.com;
> michael.d.kinney@intel.com; jeff.fan@intel.com
> Subject: Re: [edk2] [PATCH 0/4] *** BaseIoFifoLib ***
>
> On 01/05/17 00:07, Leo Duran wrote:
> > The UefiCpuPkg/CpuIo2Dxe driver and the QemuCfgLib library have
> > duplicate implementations of I/O Fifo routines. The patch series moves
> > the I/O Fifo routines into a common BaseIofifoLib library supporting
> > IA32 and X64 architectures under MdePkg.
> >
> > The intent of this patch series is twofold:
> > 1) Consolidate I/O Fifo routines into a common BaseIofifoLib library.
> > 2) Allow override of BaseIofifoLib for specific platform implementations.
> > For example, the OVMF package can provide its own version of
> > BaseIoFifoLib to support Secure Encrypted Virtualization (SEV) guests,
> > since SEV does not support string I/O instructions (rep ins/outs), and
> > requires unrolled loops of single in/out instructions.
>
> General comments:
>
> (1) Please rebase the series, picking "edit" for each patch, and re-commit
> each patch (without any code changes) with:
>
> git commit --amend --author='Brijesh Singh <brijesh.singh@amd.com>'
>
> This will cause the formatted patch emails to start with
>
> From: Brijesh Singh <brijesh.singh@amd.com>
>
> and Brijesh's authorship will be then correctly reflected in git metadata after
> applying the patches with "git am".
>
> (I'm basing this on the Signed-off-by tags.)
>
> (2) I think your S-o-b should also be present, at the bottom.
>
> (3) If you updated the patches after getting them from Brijesh (i.e., you
> aren't merely forwarding them), then I believe you should drop your
> Reviewed-by.
>
> (4) The new files shouldn't carry just Intel's copyright notice -- they are new
> files, so they should get AMD's too. (Some of the new files do this, some
> don't.)
>
> Comments related to virt:
>
> (5) OVMF now supports (and prefers) the DMA-like interface of fw_cfg
> (available in newer QEMU releases), which doesn't use port IO at all; so in
> practice the REPs should cause problems under SEV, when used in
> QemuFwCfgLib.
>
> Nonetheless, I do agree that code deduplication is a good thing!
>
> (6) Single IO port instructions in CpuIo2Dxe will slow down emulated IDE
> transfers considerably. (I'm not holding this against the lib class extraction or
> SEV in general. We should simply acknowledge this as another reason to
> default to virtio-blk or virtio-scsi in VM configs.)
>
> Thanks!
> Laszlo
>
>
> >
> > Leo Duran (4):
> > MdePkg: Add BaseIoFifoLib library
> > Modify .DSC files that include UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
> > Modify UefiCpuPkg/CpuIo2Dxe to use new BaseIoFifoLib library.
> > Modify QemuFwCfgLib to use new BaseIoFifoLib library.
> >
> > CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc | 1 +
> > CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc | 1 +
> > DuetPkg/DuetPkgIa32.dsc | 1 +
> > DuetPkg/DuetPkgX64.dsc | 1 +
> > MdePkg/Include/Library/IoFifoLib.h | 175
> ++++++++++++++++++++++
> > MdePkg/Library/BaseIoFifoLib/BaseIoFifoLib.inf | 45 ++++++
> > MdePkg/Library/BaseIoFifoLib/Ia32/IoFifo.asm | 139
> +++++++++++++++++
> > MdePkg/Library/BaseIoFifoLib/Ia32/IoFifo.nasm | 135
> +++++++++++++++++
> > MdePkg/Library/BaseIoFifoLib/X64/IoFifo.asm | 125
> ++++++++++++++++
> > MdePkg/Library/BaseIoFifoLib/X64/IoFifo.nasm | 124
> +++++++++++++++
> > MdePkg/MdePkg.dec | 3 +
> > MdePkg/MdePkg.dsc | 1 +
> > OvmfPkg/Library/QemuFwCfgLib/Ia32/IoLibExAsm.nasm | 55 -------
> > OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLib.c | 1 +
> > OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLib.inf | 7 +-
> > OvmfPkg/Library/QemuFwCfgLib/X64/IoLibExAsm.nasm | 52 -------
> > OvmfPkg/OvmfPkgIa32.dsc | 1 +
> > OvmfPkg/OvmfPkgIa32X64.dsc | 1 +
> > OvmfPkg/OvmfPkgX64.dsc | 1 +
> > QuarkPlatformPkg/Quark.dsc | 1 +
> > QuarkPlatformPkg/QuarkMin.dsc | 1 +
> > UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.c | 1 -
> > UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.h | 1 +
> > UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf | 10 +-
> > UefiCpuPkg/CpuIo2Dxe/Ia32/IoFifo.asm | 140 -----------------
> > UefiCpuPkg/CpuIo2Dxe/Ia32/IoFifo.nasm | 136 -----------------
> > UefiCpuPkg/CpuIo2Dxe/X64/IoFifo.asm | 126 ----------------
> > UefiCpuPkg/CpuIo2Dxe/X64/IoFifo.nasm | 125 ----------------
> > UefiCpuPkg/UefiCpuPkg.dsc | 1 +
> > Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc | 1 +
> > Vlv2TbltDevicePkg/PlatformPkgIA32.dsc | 1 +
> > Vlv2TbltDevicePkg/PlatformPkgX64.dsc | 1 +
> > 32 files changed, 764 insertions(+), 650 deletions(-) create mode
> > 100644 MdePkg/Include/Library/IoFifoLib.h
> > create mode 100644 MdePkg/Library/BaseIoFifoLib/BaseIoFifoLib.inf
> > create mode 100644 MdePkg/Library/BaseIoFifoLib/Ia32/IoFifo.asm
> > create mode 100644 MdePkg/Library/BaseIoFifoLib/Ia32/IoFifo.nasm
> > create mode 100644 MdePkg/Library/BaseIoFifoLib/X64/IoFifo.asm
> > create mode 100644 MdePkg/Library/BaseIoFifoLib/X64/IoFifo.nasm
> > delete mode 100644
> OvmfPkg/Library/QemuFwCfgLib/Ia32/IoLibExAsm.nasm
> > delete mode 100644
> OvmfPkg/Library/QemuFwCfgLib/X64/IoLibExAsm.nasm
> > delete mode 100644 UefiCpuPkg/CpuIo2Dxe/Ia32/IoFifo.asm
> > delete mode 100644 UefiCpuPkg/CpuIo2Dxe/Ia32/IoFifo.nasm
> > delete mode 100644 UefiCpuPkg/CpuIo2Dxe/X64/IoFifo.asm
> > delete mode 100644 UefiCpuPkg/CpuIo2Dxe/X64/IoFifo.nasm
> >
prev parent reply other threads:[~2017-01-05 20:48 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-04 23:07 [PATCH 0/4] *** BaseIoFifoLib *** Leo Duran
2017-01-04 23:07 ` [PATCH 1/4] MdePkg: Add BaseIoFifoLib library Leo Duran
2017-01-04 23:07 ` [PATCH 2/4] Modify .DSC files that include UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf Leo Duran
2017-01-05 17:08 ` Laszlo Ersek
2017-01-04 23:07 ` [PATCH 3/4] Modify UefiCpuPkg/CpuIo2Dxe to use new BaseIoFifoLib library Leo Duran
2017-01-04 23:07 ` [PATCH 4/4] Modify QemuFwCfgLib " Leo Duran
2017-01-05 17:12 ` Laszlo Ersek
2017-01-05 17:24 ` [PATCH 0/4] *** BaseIoFifoLib *** Laszlo Ersek
2017-01-05 20:47 ` Duran, Leo [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=DM5PR12MB1243E76115C2E3620CCFAB15F9600@DM5PR12MB1243.namprd12.prod.outlook.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