I haven't worked with ESAL enough to know if the EsalCall calls in patch 7 are correct. 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

