Reviewed-by: Liming Gao <[email protected]> > -----Original Message----- > From: Ard Biesheuvel [mailto:[email protected]] > Sent: Wednesday, September 07, 2016 2:48 PM > To: [email protected]; [email protected]; Gao, Liming > <[email protected]> > Cc: Kinney, Michael D <[email protected]>; Ard Biesheuvel > <[email protected]> > Subject: [PATCH v3 0/3] MdePkg: add ARM/AARCH64 support to > BaseMemoryLib > > This adds ARM and AARCH64 support to both BaseMemoryLib (generic C) > and > BaseMemoryLibOptDxe (accelerated). The former can be used anywhere, > the > latter only in places where the caches are guaranteed to be on, not only > due to the unaligned accesses but also due to the fact that it uses > DC ZVA instructions for clearing memory (AArch64 only). > > Changes since v2: > - avoid open coded 64-bit shift (#1) > - tweak SetMem implementation (#2) > > Ard Biesheuvel (3): > MdePkg/BaseMemoryLib: widen aligned accesses to 32 or 64 bits > MdePkg/BaseMemoryLibOptDxe: add accelerated ARM routines > MdePkg/BaseMemoryLibOptDxe: add accelerated AARCH64 routines > > MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf | 2 +- > MdePkg/Library/BaseMemoryLib/CopyMem.c | 112 +++++++- > MdePkg/Library/BaseMemoryLib/SetMem.c | 40 ++- > MdePkg/Library/BaseMemoryLibOptDxe/AArch64/CompareMem.S | 142 > ++++++++++ > MdePkg/Library/BaseMemoryLibOptDxe/AArch64/CopyMem.S | 284 > ++++++++++++++++++++ > MdePkg/Library/BaseMemoryLibOptDxe/AArch64/ScanMem.S | 161 > +++++++++++ > MdePkg/Library/BaseMemoryLibOptDxe/AArch64/SetMem.S | 244 > +++++++++++++++++ > MdePkg/Library/BaseMemoryLibOptDxe/Arm/CompareMem.S | 138 > ++++++++++ > MdePkg/Library/BaseMemoryLibOptDxe/Arm/CompareMem.asm | 140 > ++++++++++ > MdePkg/Library/BaseMemoryLibOptDxe/Arm/CopyMem.S | 172 > ++++++++++++ > MdePkg/Library/BaseMemoryLibOptDxe/Arm/CopyMem.asm | 147 > ++++++++++ > MdePkg/Library/BaseMemoryLibOptDxe/Arm/ScanMem.S | 146 > ++++++++++ > MdePkg/Library/BaseMemoryLibOptDxe/Arm/ScanMem.asm | 147 > ++++++++++ > MdePkg/Library/BaseMemoryLibOptDxe/Arm/ScanMemGeneric.c | 142 > ++++++++++ > MdePkg/Library/BaseMemoryLibOptDxe/Arm/SetMem.S | 67 +++++ > MdePkg/Library/BaseMemoryLibOptDxe/Arm/SetMem.asm | 74 > +++++ > MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf | 37 > ++- > 17 files changed, 2167 insertions(+), 28 deletions(-) > create mode 100644 > MdePkg/Library/BaseMemoryLibOptDxe/AArch64/CompareMem.S > create mode 100644 > MdePkg/Library/BaseMemoryLibOptDxe/AArch64/CopyMem.S > create mode 100644 > MdePkg/Library/BaseMemoryLibOptDxe/AArch64/ScanMem.S > create mode 100644 > MdePkg/Library/BaseMemoryLibOptDxe/AArch64/SetMem.S > create mode 100644 > MdePkg/Library/BaseMemoryLibOptDxe/Arm/CompareMem.S > create mode 100644 > MdePkg/Library/BaseMemoryLibOptDxe/Arm/CompareMem.asm > create mode 100644 > MdePkg/Library/BaseMemoryLibOptDxe/Arm/CopyMem.S > create mode 100644 > MdePkg/Library/BaseMemoryLibOptDxe/Arm/CopyMem.asm > create mode 100644 > MdePkg/Library/BaseMemoryLibOptDxe/Arm/ScanMem.S > create mode 100644 > MdePkg/Library/BaseMemoryLibOptDxe/Arm/ScanMem.asm > create mode 100644 > MdePkg/Library/BaseMemoryLibOptDxe/Arm/ScanMemGeneric.c > create mode 100644 > MdePkg/Library/BaseMemoryLibOptDxe/Arm/SetMem.S > create mode 100644 > MdePkg/Library/BaseMemoryLibOptDxe/Arm/SetMem.asm > > -- > 2.7.4
_______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

