ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf\r
ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf\r
\r
-[LibraryClasses.ARM]\r
- ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf\r
-\r
-[LibraryClasses.AARCH64]\r
- ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf\r
-\r
[LibraryClasses.common.PEIM]\r
HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf\r
PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf\r
ArmPkg/Drivers/ArmCpuLib/ArmCortexA9Lib/ArmCortexA9Lib.inf\r
ArmPkg/Drivers/ArmCpuLib/ArmCortexA15Lib/ArmCortexA15Lib.inf\r
\r
- ArmPkg/Library/ArmLib/ArmV7/ArmV7LibSec.inf\r
- ArmPkg/Library/ArmLib/ArmV7/ArmV7LibPrePi.inf\r
-\r
[Components.AARCH64]\r
ArmPkg/Drivers/ArmCpuLib/ArmCortexAEMv8Lib/ArmCortexAEMv8Lib.inf\r
ArmPkg/Drivers/ArmCpuLib/ArmCortexA5xLib/ArmCortexA5xLib.inf\r
-\r
- ArmPkg/Library/ArmLib/AArch64/AArch64LibSec.inf\r
- ArmPkg/Library/ArmLib/AArch64/AArch64LibPrePi.inf\r
+++ /dev/null
-#/** @file\r
-#\r
-# Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>\r
-# Portions copyright (c) 2011 - 2014, ARM Limited. All rights reserved.\r
-#\r
-# This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution. The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-#\r
-#**/\r
-\r
-[Defines]\r
- INF_VERSION = 0x00010005\r
- BASE_NAME = AArch64Lib\r
- FILE_GUID = ef20ddf5-b334-47b3-94cf-52ff44c29138\r
- MODULE_TYPE = BASE\r
- VERSION_STRING = 1.0\r
- LIBRARY_CLASS = ArmLib\r
-\r
-[Sources.AARCH64]\r
- AArch64Lib.c\r
- AArch64ArchTimer.c\r
- ArmLibSupportV8.S\r
- AArch64Support.S\r
- AArch64ArchTimerSupport.S\r
-\r
- ../Common/AArch64/ArmLibSupport.S\r
- ../Common/ArmLib.c\r
-\r
-[Packages]\r
- ArmPkg/ArmPkg.dec\r
- MdePkg/MdePkg.dec\r
-\r
-[LibraryClasses]\r
- MemoryAllocationLib\r
- CacheMaintenanceLib\r
-\r
-[Protocols]\r
- gEfiCpuArchProtocolGuid\r
+++ /dev/null
-#/** @file\r
-#\r
-# Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>\r
-# Portions copyright (c) 2011 - 2014, ARM Limited. All rights reserved.\r
-#\r
-# This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution. The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-#\r
-#**/\r
-\r
-[Defines]\r
- INF_VERSION = 0x00010005\r
- BASE_NAME = AArch64Lib\r
- FILE_GUID = ef20ddf5-b334-47b3-94cf-52ff44c29138\r
- MODULE_TYPE = PEIM\r
- VERSION_STRING = 1.0\r
- LIBRARY_CLASS = ArmLib|PEIM PEI_CORE\r
- CONSTRUCTOR = AArch64LibConstructor\r
-\r
-[Sources.AARCH64]\r
- AArch64Lib.c\r
- AArch64Mmu.c\r
- AArch64ArchTimer.c\r
- ArmLibSupportV8.S\r
- AArch64Support.S\r
- AArch64ArchTimerSupport.S\r
-\r
- ../Common/AArch64/ArmLibSupport.S\r
- ../Common/ArmLib.c\r
- AArch64PeiLibConstructor.c\r
-\r
-[Packages]\r
- ArmPkg/ArmPkg.dec\r
- MdePkg/MdePkg.dec\r
-\r
-[LibraryClasses]\r
- MemoryAllocationLib\r
- CacheMaintenanceLib\r
+++ /dev/null
-#/** @file\r
-#\r
-# Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>\r
-# Portions copyright (c) 2011-2013, ARM Ltd. All rights reserved.<BR>\r
-#\r
-# This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution. The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-#\r
-#**/\r
-\r
-[Defines]\r
- INF_VERSION = 0x00010005\r
- BASE_NAME = AArch64LibPrePi\r
- FILE_GUID = fd72688d-dbd8-4cf2-91a3-15171dea7816\r
- MODULE_TYPE = BASE\r
- VERSION_STRING = 1.0\r
- LIBRARY_CLASS = ArmLib\r
-\r
-[Sources.common]\r
- ArmLibSupportV8.S\r
- AArch64Support.S\r
-\r
- ../Common/AArch64/ArmLibSupport.S\r
- ../Common/ArmLib.c\r
-\r
- AArch64Lib.c\r
-\r
- AArch64ArchTimer.c\r
- AArch64ArchTimerSupport.S\r
-\r
-[Packages]\r
- ArmPkg/ArmPkg.dec\r
- MdePkg/MdePkg.dec\r
-\r
-[LibraryClasses]\r
- PrePiLib\r
-\r
-[Protocols]\r
- gEfiCpuArchProtocolGuid\r
+++ /dev/null
-#/* @file\r
-#\r
-# Copyright (c) 2011-2014, ARM Limited. All rights reserved.\r
-#\r
-# This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution. The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-#*/\r
-\r
-[Defines]\r
- INF_VERSION = 0x00010005\r
- BASE_NAME = AArch64Lib\r
- FILE_GUID = eb7441e4-3ddf-48b8-a009-14f428b19e49\r
- MODULE_TYPE = BASE\r
- VERSION_STRING = 1.0\r
- LIBRARY_CLASS = ArmLib\r
-\r
-[Sources.common]\r
- ArmLibSupportV8.S\r
- AArch64Support.S\r
-\r
- ../Common/AArch64/ArmLibSupport.S\r
- ../Common/ArmLib.c\r
-\r
- AArch64Lib.c\r
-\r
- AArch64ArchTimer.c\r
- AArch64ArchTimerSupport.S\r
-\r
-[Packages]\r
- ArmPkg/ArmPkg.dec\r
- MdePkg/MdePkg.dec\r
-\r
-[Protocols]\r
- gEfiCpuArchProtocolGuid\r
+++ /dev/null
-#/* @file\r
-#\r
-# Copyright (c) 2016, Linaro Limited. All rights reserved.\r
-#\r
-# This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution. The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-#*/\r
-\r
-#include <Base.h>\r
-\r
-#include <Library/ArmLib.h>\r
-#include <Library/CacheMaintenanceLib.h>\r
-#include <Library/DebugLib.h>\r
-\r
-//\r
-// This is a hack. We define a weak symbol with external linkage, which may or\r
-// may not be overridden by a non-weak alternative that is defined with a non\r
-// zero value in the object that contains the MMU routines. Since static\r
-// libraries are pulled in on a per-object basis, and since the MMU object will\r
-// only be pulled in if any of its other symbols are referenced by the client\r
-// module, we can use the value below to figure out whether the MMU routines are\r
-// in use by this module, and decide whether cache maintenance of the function\r
-// ArmReplaceLiveTranslationEntry () is required.\r
-//\r
-INT32 __attribute__((weak)) HaveMmuRoutines;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-AArch64LibConstructor (\r
- IN EFI_PEI_FILE_HANDLE FileHandle,\r
- IN CONST EFI_PEI_SERVICES **PeiServices\r
- )\r
-{\r
- extern UINT32 ArmReplaceLiveTranslationEntrySize;\r
-\r
- EFI_FV_FILE_INFO FileInfo;\r
- EFI_STATUS Status;\r
-\r
- if (HaveMmuRoutines == 0) {\r
- return RETURN_SUCCESS;\r
- }\r
-\r
- ASSERT (FileHandle != NULL);\r
-\r
- Status = (*PeiServices)->FfsGetFileInfo (FileHandle, &FileInfo);\r
- ASSERT_EFI_ERROR (Status);\r
-\r
- //\r
- // Some platforms do not cope very well with cache maintenance being\r
- // performed on regions backed by NOR flash. Since the cache maintenance\r
- // is unnecessary to begin with in that case, perform it only when not\r
- // executing in place.\r
- //\r
- if ((UINTN)FileInfo.Buffer <= (UINTN)ArmReplaceLiveTranslationEntry &&\r
- ((UINTN)FileInfo.Buffer + FileInfo.BufferSize >=\r
- (UINTN)ArmReplaceLiveTranslationEntry + ArmReplaceLiveTranslationEntrySize)) {\r
- DEBUG ((EFI_D_INFO, "ArmLib: skipping cache maintence on XIP PEIM\n"));\r
- } else {\r
- DEBUG ((EFI_D_INFO, "ArmLib: performing cache maintence on shadowed PEIM\n"));\r
- //\r
- // The ArmReplaceLiveTranslationEntry () helper function may be invoked\r
- // with the MMU off so we have to ensure that it gets cleaned to the PoC\r
- //\r
- WriteBackDataCacheRange (ArmReplaceLiveTranslationEntry,\r
- ArmReplaceLiveTranslationEntrySize);\r
- }\r
-\r
- return RETURN_SUCCESS;\r
-}\r
+++ /dev/null
-#/** @file\r
-#\r
-# Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>\r
-# Copyright (c) 2011, ARM Limited. All rights reserved.\r
-#\r
-# This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution. The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-#\r
-#**/\r
-\r
-[Defines]\r
- INF_VERSION = 0x00010005\r
- BASE_NAME = ArmV7Lib\r
- FILE_GUID = 411cdfd8-f964-4b9d-a3e3-1719a9c15559\r
- MODULE_TYPE = DXE_DRIVER\r
- VERSION_STRING = 1.0\r
- LIBRARY_CLASS = ArmLib\r
-\r
-[Sources.common]\r
- ArmLibSupportV7.S | GCC\r
- ArmLibSupportV7.asm | RVCT\r
-\r
- ../Common/Arm/ArmLibSupport.S | GCC\r
- ../Common/Arm/ArmLibSupport.asm | RVCT\r
- ../Common/ArmLib.c\r
-\r
- ArmV7Support.S | GCC\r
- ArmV7Support.asm | RVCT\r
-\r
- ArmV7Lib.c\r
-\r
- ArmV7ArchTimer.c\r
- ArmV7ArchTimerSupport.S | GCC\r
- ArmV7ArchTimerSupport.asm | RVCT\r
-\r
-[Packages]\r
- ArmPkg/ArmPkg.dec\r
- MdePkg/MdePkg.dec\r
-\r
-[LibraryClasses]\r
- MemoryAllocationLib\r
-\r
-[Protocols]\r
- gEfiCpuArchProtocolGuid\r
-\r
-[FeaturePcd.ARM]\r
- gArmTokenSpaceGuid.PcdNormalMemoryNonshareableOverride\r
+++ /dev/null
-#/** @file\r
-# Semihosting serail port lib\r
-#\r
-# Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>\r
-#\r
-# This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution. The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-#\r
-#**/\r
-\r
-[Defines]\r
- INF_VERSION = 0x00010005\r
- BASE_NAME = ArmV7LibPrePi\r
- FILE_GUID = A150FA0C-F4E8-4207-9BEB-CD6DFB430D73\r
- MODULE_TYPE = BASE\r
- VERSION_STRING = 1.0\r
- LIBRARY_CLASS = ArmLib\r
-\r
-[Sources.common]\r
- ArmLibSupportV7.S | GCC\r
- ArmLibSupportV7.asm | RVCT\r
-\r
- ../Common/Arm/ArmLibSupport.S | GCC\r
- ../Common/Arm/ArmLibSupport.asm | RVCT\r
- ../Common/ArmLib.c\r
-\r
- ArmV7Support.S | GCC\r
- ArmV7Support.asm | RVCT\r
-\r
- ArmV7Lib.c\r
-\r
- ArmV7ArchTimer.c\r
- ArmV7ArchTimerSupport.S | GCC\r
- ArmV7ArchTimerSupport.asm | RVCT\r
-\r
-[Packages]\r
- ArmPkg/ArmPkg.dec\r
- MdePkg/MdePkg.dec\r
-\r
-[LibraryClasses]\r
- PrePiLib\r
-\r
-[Protocols]\r
- gEfiCpuArchProtocolGuid\r
-\r
-[FeaturePcd.ARM]\r
- gArmTokenSpaceGuid.PcdNormalMemoryNonshareableOverride\r
+++ /dev/null
-#/* @file\r
-# Copyright (c) 2011-2015, ARM Limited. All rights reserved.\r
-#\r
-# This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution. The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-#*/\r
-\r
-[Defines]\r
- INF_VERSION = 0x00010005\r
- BASE_NAME = ArmV7LibSec\r
- FILE_GUID = addd46ad-156a-4309-b134-46a1b14a61bf\r
- MODULE_TYPE = BASE\r
- VERSION_STRING = 1.0\r
- LIBRARY_CLASS = ArmLib\r
-\r
-[Sources.common]\r
- ArmLibSupportV7.S | GCC\r
- ArmLibSupportV7.asm | RVCT\r
-\r
- ../Common/Arm/ArmLibSupport.S | GCC\r
- ../Common/Arm/ArmLibSupport.asm | RVCT\r
- ../Common/ArmLib.c\r
-\r
- ArmV7Support.S | GCC\r
- ArmV7Support.asm | RVCT\r
-\r
- ArmV7Lib.c\r
-\r
- ArmV7ArchTimer.c\r
- ArmV7ArchTimerSupport.S | GCC\r
- ArmV7ArchTimerSupport.asm | RVCT\r
-\r
-[Packages]\r
- ArmPkg/ArmPkg.dec\r
- MdePkg/MdePkg.dec\r
-\r
-[Protocols]\r
- gEfiCpuArchProtocolGuid\r