From c52c592a0318ea31f14f09ebffa282dbc94f2e76 Mon Sep 17 00:00:00 2001 From: Ard Biesheuvel Date: Mon, 5 Sep 2016 11:25:18 +0100 Subject: [PATCH] ArmPkg/ArmLib: introduce ArmBaseLib Introduce a new ArmLib version ArmBaseLib, which encapsulates the ARM version ArmV7Lib and the AArch64 version AArch64Lib. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel Reviewed-by: Leif Lindholm --- ArmPkg/ArmPkg.dsc | 1 + ArmPkg/Library/ArmLib/ArmBaseLib.inf | 59 ++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 ArmPkg/Library/ArmLib/ArmBaseLib.inf diff --git a/ArmPkg/ArmPkg.dsc b/ArmPkg/ArmPkg.dsc index e26ca035f5..012c5c835f 100644 --- a/ArmPkg/ArmPkg.dsc +++ b/ArmPkg/ArmPkg.dsc @@ -86,6 +86,7 @@ IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf + ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf [LibraryClasses.ARM] diff --git a/ArmPkg/Library/ArmLib/ArmBaseLib.inf b/ArmPkg/Library/ArmLib/ArmBaseLib.inf new file mode 100644 index 0000000000..3e9f19c3ca --- /dev/null +++ b/ArmPkg/Library/ArmLib/ArmBaseLib.inf @@ -0,0 +1,59 @@ +#/** @file +# +# Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.
+# Portions copyright (c) 2011 - 2014, ARM Limited. All rights reserved. +# Copyright (c) 2016, Linaro Ltd. All rights reserved. +# +# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +# +#**/ + +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME = ArmBaseLib + FILE_GUID = f1d943b6-99c5-46d5-af5a-66ec67662700 + MODULE_TYPE = BASE + VERSION_STRING = 1.0 + LIBRARY_CLASS = ArmLib + +[Sources] + Common/ArmLib.c + +[Sources.ARM] + ArmV7/ArmV7Lib.c + ArmV7/ArmV7ArchTimer.c + + ArmV7/ArmLibSupportV7.S | GCC + ArmV7/ArmV7Support.S | GCC + ArmV7/ArmV7ArchTimerSupport.S | GCC + Common/Arm/ArmLibSupport.S | GCC + + ArmV7/ArmLibSupportV7.asm | RVCT + ArmV7/ArmV7Support.asm | RVCT + ArmV7/ArmV7ArchTimerSupport.asm | RVCT + Common/Arm/ArmLibSupport.asm | RVCT + +[Sources.AARCH64] + AArch64/AArch64Lib.c + AArch64/AArch64ArchTimer.c + + AArch64/ArmLibSupportV8.S + AArch64/AArch64Support.S + AArch64/AArch64ArchTimerSupport.S + Common/AArch64/ArmLibSupport.S + +[Packages] + ArmPkg/ArmPkg.dec + MdePkg/MdePkg.dec + +[Protocols] + gEfiCpuArchProtocolGuid + +[FeaturePcd.ARM] + gArmTokenSpaceGuid.PcdNormalMemoryNonshareableOverride -- 2.39.2