FYI: Just fixed some typos in the 'cover letter' . (Yes it was late, and was a bit tired :-)).
Thanks, Leo. Changes since v1: - Fix coding style issue: Assigning value to local variable declaration. - Rework CpuIo2Dxe, CpuIoDxe, and CpuIoPei to use the Fifo routines in the new BaseIoLibIntrinsic (IoLib class) library. - Rework DxeIoLibCpuIo2, DxeIoLibCpuIo, and PeiIoLibCpuIo to use FiFo routines via the CPU I/O interfaces. - Minor cleanups on IoLib function prototypes. > -----Original Message----- > From: Duran, Leo > Sent: Friday, January 13, 2017 12:21 AM > To: [email protected] > Cc: [email protected]; [email protected]; [email protected]; > [email protected]; [email protected]; Singh, Brijesh > <[email protected]>; Duran, Leo <[email protected]> > Subject: [PATCH v2 00/10] IoLib class library > > 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 v1: > - Fix coding style issue: Assigning value to local variable declaration. > - Rework CpuIo2Dxe, CpuIoDxe, and CpuIoPei to use the Fifo routines in the > new BaseIoLibIntrinsic (IoLib class) library. > - Rework DxeIoLibCpuIo2Lib, DxeIoLibCpuLib, and PeiIoLibCouIoLib to use > FiFo > routines via the CPU I/O interfaces. > - Minor cleanups on function IoLib function prototypes. > > 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 | 216 +++++++++++++++++ > 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, 2179 insertions(+), 417 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

