Reviewed-by: Liming Gao <[email protected]>
> -----Original Message----- > From: edk2-devel [mailto:[email protected]] On Behalf Of > Hao Wu > Sent: Thursday, August 18, 2016 12:54 PM > To: [email protected]; Gao, Liming <[email protected]> > Cc: Wu, Hao A <[email protected]> > Subject: [edk2] [PATCH v2 0/6] Add APIs IsZeroBuffer and IsZeroGuid in > BaseMemoryLib > > Changes made comparing V1: > 1. Use assembly to implement the IsZeroBuffer() API for the following > library instances: > BaseMemoryLibMmx > BaseMemoryLibOptDxe > BaseMemoryLibOptPei > BaseMemoryLibRepStr > BaseMemoryLibSse2 > > 2. Utilize XMM regesters and related instructions in assembly codes for > BaseMemoryLibSse2 library instance. > > 3. Modify patches for SecurityPkg to avoid breaking bisection between > patches. > > Hao Wu (6): > MdePkg BaseMemoryLib: Add implementation of API IsZeroGuid() > SecurityPkg Tcg2: Rename internal API IsZeroBuffer to > InternalIsZeroBuffer > MdePkg BaseMemoryLib: Add C implementation of API IsZeroBuffer() > MdePkg BaseMemoryLib: Add assembly implementation of API > IsZeroBuffer() > MdePkg BaseMemoryLibSse2: Add SSE2 implementation of API > IsZeroBuffer() > SecurityPkg Tcg2: Remove use of module internal API > InternalIsZeroBuffer() > > MdePkg/Include/Library/BaseMemoryLib.h | 45 ++++++++++++- > MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf | 3 +- > MdePkg/Library/BaseMemoryLib/IsZeroBufferWrapper.c | 54 > +++++++++++++++ > MdePkg/Library/BaseMemoryLib/MemLibGeneric.c | 31 ++++++++- > MdePkg/Library/BaseMemoryLib/MemLibGuid.c | 31 ++++++++- > MdePkg/Library/BaseMemoryLib/MemLibInternals.h | 19 +++++- > .../Library/BaseMemoryLibMmx/BaseMemoryLibMmx.inf | 5 +- > .../BaseMemoryLibMmx/Ia32/IsZeroBuffer.nasm | 55 > ++++++++++++++++ > .../Library/BaseMemoryLibMmx/IsZeroBufferWrapper.c | 54 > +++++++++++++++ > MdePkg/Library/BaseMemoryLibMmx/MemLibGuid.c | 31 ++++++++- > MdePkg/Library/BaseMemoryLibMmx/MemLibInternals.h | 19 +++++- > .../Library/BaseMemoryLibMmx/X64/IsZeroBuffer.nasm | 55 > ++++++++++++++++ > .../BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf | 6 +- > .../BaseMemoryLibOptDxe/Ia32/IsZeroBuffer.nasm | 55 > ++++++++++++++++ > .../BaseMemoryLibOptDxe/IsZeroBufferWrapper.c | 54 > +++++++++++++++ > MdePkg/Library/BaseMemoryLibOptDxe/MemLibGuid.c | 31 ++++++++- > .../Library/BaseMemoryLibOptDxe/MemLibInternals.h | 19 +++++- > .../BaseMemoryLibOptDxe/X64/IsZeroBuffer.nasm | 55 > ++++++++++++++++ > .../BaseMemoryLibOptPei/BaseMemoryLibOptPei.inf | 6 +- > .../BaseMemoryLibOptPei/Ia32/IsZeroBuffer.nasm | 55 > ++++++++++++++++ > .../BaseMemoryLibOptPei/IsZeroBufferWrapper.c | 54 > +++++++++++++++ > MdePkg/Library/BaseMemoryLibOptPei/MemLibGuid.c | 31 ++++++++- > .../Library/BaseMemoryLibOptPei/MemLibInternals.h | 19 +++++- > .../BaseMemoryLibOptPei/X64/IsZeroBuffer.nasm | 55 > ++++++++++++++++ > .../BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf | 5 +- > .../BaseMemoryLibRepStr/Ia32/IsZeroBuffer.nasm | 55 > ++++++++++++++++ > .../BaseMemoryLibRepStr/IsZeroBufferWrapper.c | 54 > +++++++++++++++ > MdePkg/Library/BaseMemoryLibRepStr/MemLibGuid.c | 31 ++++++++- > .../Library/BaseMemoryLibRepStr/MemLibInternals.h | 19 +++++- > .../BaseMemoryLibRepStr/X64/IsZeroBuffer.nasm | 55 > ++++++++++++++++ > .../BaseMemoryLibSse2/BaseMemoryLibSse2.inf | 5 +- > .../BaseMemoryLibSse2/Ia32/IsZeroBuffer.nasm | 74 > +++++++++++++++++++++ > .../BaseMemoryLibSse2/IsZeroBufferWrapper.c | 54 +++++++++++++++ > MdePkg/Library/BaseMemoryLibSse2/MemLibGuid.c | 31 ++++++++- > MdePkg/Library/BaseMemoryLibSse2/MemLibInternals.h | 19 +++++- > .../BaseMemoryLibSse2/X64/IsZeroBuffer.nasm | 76 > ++++++++++++++++++++++ > MdePkg/Library/PeiMemoryLib/IsZeroBufferWrapper.c | 54 > +++++++++++++++ > MdePkg/Library/PeiMemoryLib/MemLibGeneric.c | 31 ++++++++- > MdePkg/Library/PeiMemoryLib/MemLibGuid.c | 31 ++++++++- > MdePkg/Library/PeiMemoryLib/MemLibInternals.h | 19 +++++- > MdePkg/Library/PeiMemoryLib/PeiMemoryLib.inf | 3 +- > MdePkg/Library/UefiMemoryLib/IsZeroBufferWrapper.c | 54 > +++++++++++++++ > MdePkg/Library/UefiMemoryLib/MemLibGeneric.c | 31 ++++++++- > MdePkg/Library/UefiMemoryLib/MemLibGuid.c | 31 ++++++++- > MdePkg/Library/UefiMemoryLib/MemLibInternals.h | 19 +++++- > MdePkg/Library/UefiMemoryLib/UefiMemoryLib.inf | 3 +- > SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigImpl.c | 27 -------- > SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c | 27 -------- > SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.c | 27 -------- > 49 files changed, 1568 insertions(+), 109 deletions(-) > create mode 100644 > MdePkg/Library/BaseMemoryLib/IsZeroBufferWrapper.c > create mode 100644 > MdePkg/Library/BaseMemoryLibMmx/Ia32/IsZeroBuffer.nasm > create mode 100644 > MdePkg/Library/BaseMemoryLibMmx/IsZeroBufferWrapper.c > create mode 100644 > MdePkg/Library/BaseMemoryLibMmx/X64/IsZeroBuffer.nasm > create mode 100644 > MdePkg/Library/BaseMemoryLibOptDxe/Ia32/IsZeroBuffer.nasm > create mode 100644 > MdePkg/Library/BaseMemoryLibOptDxe/IsZeroBufferWrapper.c > create mode 100644 > MdePkg/Library/BaseMemoryLibOptDxe/X64/IsZeroBuffer.nasm > create mode 100644 > MdePkg/Library/BaseMemoryLibOptPei/Ia32/IsZeroBuffer.nasm > create mode 100644 > MdePkg/Library/BaseMemoryLibOptPei/IsZeroBufferWrapper.c > create mode 100644 > MdePkg/Library/BaseMemoryLibOptPei/X64/IsZeroBuffer.nasm > create mode 100644 > MdePkg/Library/BaseMemoryLibRepStr/Ia32/IsZeroBuffer.nasm > create mode 100644 > MdePkg/Library/BaseMemoryLibRepStr/IsZeroBufferWrapper.c > create mode 100644 > MdePkg/Library/BaseMemoryLibRepStr/X64/IsZeroBuffer.nasm > create mode 100644 > MdePkg/Library/BaseMemoryLibSse2/Ia32/IsZeroBuffer.nasm > create mode 100644 > MdePkg/Library/BaseMemoryLibSse2/IsZeroBufferWrapper.c > create mode 100644 > MdePkg/Library/BaseMemoryLibSse2/X64/IsZeroBuffer.nasm > create mode 100644 MdePkg/Library/PeiMemoryLib/IsZeroBufferWrapper.c > create mode 100644 > MdePkg/Library/UefiMemoryLib/IsZeroBufferWrapper.c > > -- > 1.9.5.msysgit.0 > > _______________________________________________ > 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

