From patchwork Tue Sep 13 17:28:01 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ard Biesheuvel X-Patchwork-Id: 76106 Delivered-To: patch@linaro.org Received: by 10.140.106.72 with SMTP id d66csp1471520qgf; Tue, 13 Sep 2016 10:28:12 -0700 (PDT) X-Received: by 10.66.5.5 with SMTP id o5mr3307437pao.38.1473787692149; Tue, 13 Sep 2016 10:28:12 -0700 (PDT) Return-Path: Received: from ml01.01.org (ml01.01.org. [2001:19d0:306:5::1]) by mx.google.com with ESMTPS id g192si28473117pfb.119.2016.09.13.10.28.11 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 13 Sep 2016 10:28:12 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 2001:19d0:306:5::1 as permitted sender) client-ip=2001:19d0:306:5::1; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org; spf=pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 2001:19d0:306:5::1 as permitted sender) smtp.mailfrom=edk2-devel-bounces@lists.01.org; dmarc=fail (p=NONE dis=NONE) header.from=linaro.org Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id A9E211A1E45; Tue, 13 Sep 2016 10:28:11 -0700 (PDT) X-Original-To: edk2-devel@lists.01.org Delivered-To: edk2-devel@lists.01.org Received: from mail-wm0-x235.google.com (mail-wm0-x235.google.com [IPv6:2a00:1450:400c:c09::235]) (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 7525C1A1E43 for ; Tue, 13 Sep 2016 10:28:10 -0700 (PDT) Received: by mail-wm0-x235.google.com with SMTP id c131so124543161wmh.0 for ; Tue, 13 Sep 2016 10:28:10 -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=ijv1KgXItxlbrnXbUoTqzLcIQLeYt/kmyuZqU4uyQNk=; b=G3qbj6+iOXR9u9+xuytmXK3Ag6qBzSMXcOK8mGtkFc+G3TZp9bUOfvMWTVAYwINSKH nzOuBGebc11OOYjzC3cny0J6sU/S9LzMLCfDeET05dct4o+BwZF5IkKzj3jMtYMhgzsX aiCZvhXY/dLuVsfLhckmVXZXCXCZF88vIkHJA= 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=ijv1KgXItxlbrnXbUoTqzLcIQLeYt/kmyuZqU4uyQNk=; b=U7tHXAY+4gjO8ibJxkcbdYuDJdU9icJbzoShbcZtQdUiEPfWEXtnUrdWdAMlDHb2Pb 3DE6mMMBVCq8oc67upSY5GQhucuTo3OzSyHSMpdA44kLOjLO79HhHPrz5M6KR1qOnnPG 6aGrh3+AdBuvexeCrMcnpvQ8rrYGC6S2IQXl7dC980rOPihgDyKAprT3tVJHSnB1uX0r 3nCuxyy7DJ1JzlNqTrGPyjdHZ6mRna5Db0LjyXjHLi5Rrk43OzX0hA+LX7WKUHVzM0QG pVs30HbZ99FghDdFCIIWgRlle/quprfQlMy4PS5CqxnkbxTpQxl7svTviPAgSujI0eYF Azig== X-Gm-Message-State: AE9vXwNHvLeaW1qMRZycoeyrPtdJAMWMHh3k0XsPLhONaFDzmdxYQWmdNMwWve/olLrQbrWG X-Received: by 10.194.141.163 with SMTP id rp3mr8502366wjb.124.1473787689069; Tue, 13 Sep 2016 10:28:09 -0700 (PDT) Received: from localhost.localdomain ([197.128.106.42]) by smtp.gmail.com with ESMTPSA id r9sm23985993wjp.15.2016.09.13.10.28.07 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 13 Sep 2016 10:28:08 -0700 (PDT) From: Ard Biesheuvel To: edk2-devel@lists.01.org, lersek@redhat.com Date: Tue, 13 Sep 2016 18:28:01 +0100 Message-Id: <1473787681-27142-1-git-send-email-ard.biesheuvel@linaro.org> X-Mailer: git-send-email 2.7.4 Subject: [edk2] [PATCH] ArmVirtPkg: move all platforms to MdePkg/ BaseMemoryLib implementations 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: , Cc: Ard Biesheuvel MIME-Version: 1.0 Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" The BaseMemoryLibStm implementation under ArmPkg/ is being deprecated, in favor of the generic versions under MdePkg, now that ARM and AARCH64 support has been added to both the generic C version (BaseMemoryLib) and the accelerated version (BaseMemoryLibOptDxe). The latter uses unaligned accesses and special cache maintenance instructions, and can therefore not be used when the MMU is off. So move to BaseMemoryLibOptDxe for the DXE phase and later, and to the generic BaseMemoryLib before that. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel --- ArmVirtPkg/ArmVirt.dsc.inc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) -- 2.7.4 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel Reviewed-by: Laszlo Ersek diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc index 6c6a52b5e6fb..c624b3cdbecd 100644 --- a/ArmVirtPkg/ArmVirt.dsc.inc +++ b/ArmVirtPkg/ArmVirt.dsc.inc @@ -67,9 +67,8 @@ [LibraryClasses.common] # PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf - # 1/123 faster than Stm or Vstm version - #BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf - BaseMemoryLib|ArmPkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf + # use the accelerated BaseMemoryLibOptDxe by default, overrides for SEC/PEI below + BaseMemoryLib|MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf # Networking Requirements NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf @@ -154,6 +153,7 @@ [LibraryClasses.common] [LibraryClasses.common.SEC] PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf + BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf DebugAgentLib|ArmPkg/Library/DebugAgentSymbolsBaseLib/DebugAgentSymbolsBaseLib.inf DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLibBase.inf @@ -165,6 +165,7 @@ [LibraryClasses.common.SEC] [LibraryClasses.common.PEI_CORE] PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf + BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf @@ -181,6 +182,7 @@ [LibraryClasses.common.PEI_CORE] [LibraryClasses.common.PEIM] PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf + BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf