From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-x229.google.com (mail-wm0-x229.google.com [IPv6:2a00:1450:400c:c09::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 260601A1E0E for ; Mon, 19 Sep 2016 01:13:59 -0700 (PDT) Received: by mail-wm0-x229.google.com with SMTP id 1so143660355wmz.1 for ; Mon, 19 Sep 2016 01:13:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id; bh=wUyZH8UPY9gDqPYAfk6IoWsZT8TK4BuUUlujT4rmrNE=; b=KOORL7KTYDhFAqGC5U0VkFPvOiZWArfFvrIZLTFsT2aEPoznBeAJUyZGe3OxqG+EG0 JPJDDsH9OQWPXCom8mRXdtPM2HDlpyXno/4wo9N6oXMzTcq1DKTq9Mh/He/4Uu2vcd5f cP5CQ///MBfK9Ygo1g2TUTYzXuS0cRI4oEYoM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=wUyZH8UPY9gDqPYAfk6IoWsZT8TK4BuUUlujT4rmrNE=; b=Xdm5DJk1j/TyK6Nu+3ns4LQg9BVPwhmNsmCuFDhWALH8iB/k17ccyqj0AwsW/TqzBj VujzWxF8qvopYzcnOhzoq3RpXQN3mvLG90o+oLz3GgrwCV9fRR6cO+MNVOErHGSVhAeM oHFehOxaSWOPxsApGGznahsksZRr8KNdxU+jvm0j5Xx/o3HhF339K1PT27U3ytpVbURU ms7R886bxzMn7l9qkRlBF5ZXaUFOh3uc46FS5pN3qHXDRnStr6i48EwUWW+pJhH7fEtJ OsiMidXqBknJbJvLJz2LEOHJvN3omoletfvxOimcQ1Q5OkfnRSrhR8S7w7uxqKLyle8T 93vg== X-Gm-Message-State: AE9vXwP2+JmmEJI/cbg3ykhakIt1z4KUL613nWO0Lwep8dBuBjiN5Sn+LBYs2YQLUgh56acX X-Received: by 10.28.216.211 with SMTP id p202mr7575237wmg.85.1474272837077; Mon, 19 Sep 2016 01:13:57 -0700 (PDT) Received: from localhost.localdomain ([160.161.71.58]) by smtp.gmail.com with ESMTPSA id lj2sm21679784wjc.38.2016.09.19.01.13.55 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 19 Sep 2016 01:13:56 -0700 (PDT) From: Ard Biesheuvel To: edk2-devel@lists.01.org, liming.gao@intel.com Cc: leif.lindholm@linaro.org, vishalo@qti.qualcomm.com, Ard Biesheuvel Date: Mon, 19 Sep 2016 09:13:48 +0100 Message-Id: <1474272831-20840-1-git-send-email-ard.biesheuvel@linaro.org> X-Mailer: git-send-email 2.7.4 Subject: [PATCH v2 0/3] MdePkg/BaseMemoryLibOptDxe: generic and ARM/AARCH64 fixes 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: Mon, 19 Sep 2016 08:13:59 -0000 Some pending fixes for BaseMemoryLib* and BaseMemoryLibOptDxe, now resent as a single series. Patch #1 fixes an arithmetic bug in BaseMemoryLibOptDxe for ARM, which renders it unusable at the moment. Patch #2 adds some asserts that are mentioned in the respective comment blocks but are missing from the code. Patch #3 fixes a performance regressions observed by moving from the (soon to be deprecated) BaseMemoryLibStm in ArmPkg to BaseMemoryLibOptDxe. The culprit has been identified to be CompareGuid(), which needlessly uses unaligned accessors (since this library can only be used in a context where unaligned accesses are allowed) Ard Biesheuvel (3): MdePkg/BaseMemoryLibOptDxe ARM: fix arithmetic bugs in CompareMem() MdePkg/BaseMemoryLib*: add missing ASSERT()s MdePkg/BaseMemoryLibOptDxe ARM|AARCH64: implement accelerated GUID functions MdePkg/Library/BaseMemoryLib/MemLibGuid.c | 8 ++ MdePkg/Library/BaseMemoryLibMmx/MemLibGuid.c | 8 ++ MdePkg/Library/BaseMemoryLibOptDxe/AArch64/CompareGuid.S | 40 ++++++ MdePkg/Library/BaseMemoryLibOptDxe/Arm/CompareGuid.S | 66 +++++++++ MdePkg/Library/BaseMemoryLibOptDxe/Arm/CompareGuid.asm | 69 +++++++++ MdePkg/Library/BaseMemoryLibOptDxe/Arm/CompareMem.S | 4 +- MdePkg/Library/BaseMemoryLibOptDxe/Arm/MemLibGuid.c | 152 ++++++++++++++++++++ MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf | 7 +- MdePkg/Library/BaseMemoryLibOptDxe/MemLibGuid.c | 8 ++ MdePkg/Library/BaseMemoryLibOptPei/MemLibGuid.c | 8 ++ MdePkg/Library/BaseMemoryLibRepStr/MemLibGuid.c | 8 ++ MdePkg/Library/BaseMemoryLibSse2/MemLibGuid.c | 8 ++ MdePkg/Library/PeiMemoryLib/MemLibGuid.c | 8 ++ MdePkg/Library/UefiMemoryLib/MemLibGuid.c | 8 ++ 14 files changed, 399 insertions(+), 3 deletions(-) create mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/AArch64/CompareGuid.S create mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Arm/CompareGuid.S create mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Arm/CompareGuid.asm create mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Arm/MemLibGuid.c -- 2.7.4