summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArd Biesheuvel <ard.biesheuvel@linaro.org>2016-09-13 16:36:23 +0100
committerArd Biesheuvel <ard.biesheuvel@linaro.org>2016-09-21 08:44:06 +0100
commit3c3cf1cd731f5aa8fdc00392cbf7c5e36055bf18 (patch)
tree638b8fa47634a4720f50bcb952b2433fe2138a8b
parent217b3ac093d2c1ae2ce066984a9c4302331c07c2 (diff)
downloadedk2-3c3cf1cd731f5aa8fdc00392cbf7c5e36055bf18.tar.gz
edk2-3c3cf1cd731f5aa8fdc00392cbf7c5e36055bf18.tar.bz2
edk2-3c3cf1cd731f5aa8fdc00392cbf7c5e36055bf18.zip
ArmVirtPkg: move all platforms to MdePkg/ BaseMemoryLib implementations
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 <ard.biesheuvel@linaro.org> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
-rw-r--r--ArmVirtPkg/ArmVirt.dsc.inc8
1 files changed, 5 insertions, 3 deletions
diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc
index 6c6a52b5e6..c624b3cdbe 100644
--- a/ArmVirtPkg/ArmVirt.dsc.inc
+++ b/ArmVirtPkg/ArmVirt.dsc.inc
@@ -67,9 +67,8 @@
#
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.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.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.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