From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 8882C1A1EC1 for ; Wed, 7 Sep 2016 00:16:13 -0700 (PDT) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga104.jf.intel.com with ESMTP; 07 Sep 2016 00:16:13 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.30,295,1470726000"; d="scan'208";a="1026164667" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga001.jf.intel.com with ESMTP; 07 Sep 2016 00:16:13 -0700 Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.248.2; Wed, 7 Sep 2016 00:16:12 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.109]) by SHSMSX101.ccr.corp.intel.com ([169.254.1.91]) with mapi id 14.03.0248.002; Wed, 7 Sep 2016 15:16:10 +0800 From: "Gao, Liming" To: Ard Biesheuvel , "edk2-devel@lists.01.org" , "leif.lindholm@linaro.org" CC: "Kinney, Michael D" Thread-Topic: [PATCH v3 0/3] MdePkg: add ARM/AARCH64 support to BaseMemoryLib Thread-Index: AQHSCNPL7ztAKriCFUOdGy3bmYIJx6BtnanQ Date: Wed, 7 Sep 2016 07:16:09 +0000 Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14B3E30EF@shsmsx102.ccr.corp.intel.com> References: <1473230862-20689-1-git-send-email-ard.biesheuvel@linaro.org> In-Reply-To: <1473230862-20689-1-git-send-email-ard.biesheuvel@linaro.org> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH v3 0/3] MdePkg: add ARM/AARCH64 support to BaseMemoryLib X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Sep 2016 07:16:13 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Liming Gao > -----Original Message----- > From: Ard Biesheuvel [mailto:ard.biesheuvel@linaro.org] > Sent: Wednesday, September 07, 2016 2:48 PM > To: edk2-devel@lists.01.org; leif.lindholm@linaro.org; Gao, Liming > > Cc: Kinney, Michael D ; Ard Biesheuvel > > Subject: [PATCH v3 0/3] MdePkg: add ARM/AARCH64 support to > BaseMemoryLib >=20 > 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). >=20 > Changes since v2: > - avoid open coded 64-bit shift (#1) > - tweak SetMem implementation (#2) >=20 > 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 >=20 > 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 >=20 > -- > 2.7.4