Thanks Jordan. Please see my reply below. Leo > -----Original Message----- > From: Jordan Justen [mailto:[email protected]] > Sent: Saturday, January 14, 2017 4:19 PM > To: Duran, Leo <[email protected]>; [email protected] > Cc: Singh, Brijesh <[email protected]>; [email protected]; Duran, > Leo <[email protected]>; [email protected]; > [email protected]; [email protected] > Subject: Re: [edk2] [PATCH v3 00/10] IoLib class library > > I haven't worked with ESAL enough to know if the EsalCall calls in patch 7 are > correct. [Duran, Leo] Section 10.3.1 (Extended SAL Base I/O Services Class) in Volume 4 of the of the PI spec describes ESAL I/O as a proxy for CPU I/O interfaces, which are taken care of on patches 2, 3 and 4.
> Patches 1-6 & 8-10: > Reviewed-by: Jordan Justen <[email protected]> > > On 2017-01-13 12:09:50, 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 the BaseIoLibIntrinsic library and expands > > the IoLib class to include the ported I/O Fifo routines. > > > > The Fifo routines moved from the UefiCpuPkg/CpuIo2Dxe driver support > > IA32 and X64 natively, and other architectures are supported by simply > > looping through the basic IoRead/IoWrite routines as appropiate. > > > > The intent of this patch series is twofold: > > 1) Integrate I/O Fifo routines into the IoLib class library. > > 2) Allow override of IoLib as may be required to support specific > > hardware implementations, such as AMD's Secure Encrypted Virtualization > (SEV). > > > > Changes since v2: > > - Rework DxeIoLibEsal to use FiFo routines via the CPU I/O interfaces. > > Changes only to: [PATCH v2 07/10] MdePkg/DxeIoLibEsal > > > > Leo Duran (10): > > MdePkg: Expand BaseIoLibIntrinsic (IoLib class) library > > UefiCpuPkg: Modify CpuIo2Dxe to use new IoLib library > > UefiCpuPkg: Modify CpuIoPei to support new IoLib library > > IntelFrameworkModulePkg: Modify CpuIoDxe to support new IoLib library > > MdePkg/DxeIoLibCpuIo2: Add new Fifo routines in IoLib class > > MdePkg/PeiIoLibCpuIo: Add new Fifo routines in IoLib class > > MdePkg/DxeIoLibEsal: Add new Fifo routines in IoLib class > > MdePkg/SmmIoLibSmmCpuIo2: Add new Fifo routines in IoLib class > > IntelFrameworkPkg/DxeIoLibCpuIo: Add new Fifo routines in IoLib class > > OvmfPkg: Modify QemuFwCfgLib to use new IoLib class library > > > > IntelFrameworkModulePkg/Universal/CpuIoDxe/CpuIo.c | 52 ++++ > > .../Library/DxeIoLibCpuIo/DxeCpuIoLibInternal.h | 70 +++++- > > IntelFrameworkPkg/Library/DxeIoLibCpuIo/IoLib.c | 248 > ++++++++++++++++++ > > MdePkg/Include/Library/IoLib.h | 152 +++++++++++ > > .../BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf | 6 +- > > .../Library/BaseIoLibIntrinsic}/Ia32/IoFifo.asm | 19 +- > > .../Library/BaseIoLibIntrinsic}/Ia32/IoFifo.nasm | 19 +- > > MdePkg/Library/BaseIoLibIntrinsic/IoLibArm.c | 169 +++++++++++++ > > MdePkg/Library/BaseIoLibIntrinsic/IoLibEbc.c | 171 +++++++++++++ > > MdePkg/Library/BaseIoLibIntrinsic/IoLibIpf.c | 201 +++++++++++++++ > > .../Library/BaseIoLibIntrinsic}/X64/IoFifo.asm | 19 +- > > .../Library/BaseIoLibIntrinsic}/X64/IoFifo.nasm | 19 +- > > .../Library/DxeIoLibCpuIo2/DxeCpuIo2LibInternal.h | 71 +++++- > > MdePkg/Library/DxeIoLibCpuIo2/IoLib.c | 260 > ++++++++++++++++++- > > MdePkg/Library/DxeIoLibEsal/IoLib.c | 278 > ++++++++++++++++++++- > > MdePkg/Library/PeiIoLibCpuIo/IoLib.c | 261 > +++++++++++++++++++ > > MdePkg/Library/SmmIoLibSmmCpuIo2/IoLib.c | 216 > ++++++++++++++++ > > OvmfPkg/Library/QemuFwCfgLib/Ia32/IoLibExAsm.nasm | 55 ---- > > OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLib.c | 54 +--- > > OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLib.inf | 7 +- > > OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgSecLib.inf | 7 +- > > OvmfPkg/Library/QemuFwCfgLib/X64/IoLibExAsm.nasm | 52 ---- > > UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.c | 13 +- > > UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf | 11 +- > > UefiCpuPkg/CpuIo2Dxe/IoFifo.h | 176 ------------- > > UefiCpuPkg/CpuIoPei/CpuIoPei.c | 52 ++++ > > 26 files changed, 2239 insertions(+), 419 deletions(-) rename > > {UefiCpuPkg/CpuIo2Dxe => > > MdePkg/Library/BaseIoLibIntrinsic}/Ia32/IoFifo.asm (85%) rename > > {UefiCpuPkg/CpuIo2Dxe => > > MdePkg/Library/BaseIoLibIntrinsic}/Ia32/IoFifo.nasm (86%) rename > > {UefiCpuPkg/CpuIo2Dxe => > > MdePkg/Library/BaseIoLibIntrinsic}/X64/IoFifo.asm (83%) rename > > {UefiCpuPkg/CpuIo2Dxe => > > MdePkg/Library/BaseIoLibIntrinsic}/X64/IoFifo.nasm (84%) delete mode > > 100644 OvmfPkg/Library/QemuFwCfgLib/Ia32/IoLibExAsm.nasm > > delete mode 100644 > OvmfPkg/Library/QemuFwCfgLib/X64/IoLibExAsm.nasm > > delete mode 100644 UefiCpuPkg/CpuIo2Dxe/IoFifo.h > > > > -- > > 1.9.1 > > > > _______________________________________________ > > edk2-devel mailing list > > [email protected] > > https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

