X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=ArmPkg%2FArmPkg.dec;h=cfb6fe602485aa7bc3e91f48caf5bbbbe9b7a761;hb=31b16384688df9ce0e8f59021fd667e47d7d3972;hp=f0b136a57af0f6cd5676aa66e528ae9c54a77620;hpb=660d4faa296b3ae83efb68d9d25312c83137ab0a;p=mirror_edk2.git
diff --git a/ArmPkg/ArmPkg.dec b/ArmPkg/ArmPkg.dec
index f0b136a57a..cfb6fe6024 100644
--- a/ArmPkg/ArmPkg.dec
+++ b/ArmPkg/ArmPkg.dec
@@ -2,7 +2,8 @@
# ARM processor package.
#
# Copyright (c) 2009 - 2010, Apple Inc. All rights reserved.
-# Copyright (c) 2011 - 2018, ARM Limited. All rights reserved.
+# Copyright (c) 2011 - 2021, ARM Limited. All rights reserved.
+# Copyright (c) 2021, Ampere Computing LLC. All rights reserved.
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
@@ -27,15 +28,68 @@
Include # Root include for the package
[LibraryClasses.common]
- ArmLib|Include/Library/ArmLib.h
- ArmMmuLib|Include/Library/ArmMmuLib.h
- SemihostLib|Include/Library/Semihosting.h
- DefaultExceptionHandlerLib|Include/Library/DefaultExceptionHandlerLib.h
+ ## @libraryclass Convert Arm instructions to a human readable format.
+ #
ArmDisassemblerLib|Include/Library/ArmDisassemblerLib.h
+
+ ## @libraryclass Provides an interface to Arm generic counters.
+ #
+ ArmGenericTimerCounterLib|Include/Library/ArmGenericTimerCounterLib.h
+
+ ## @libraryclass Provides an interface to initialize a
+ # Generic Interrupt Controller (GIC).
+ #
ArmGicArchLib|Include/Library/ArmGicArchLib.h
- ArmMtlLib|ArmPlatformPkg/Include/Library/ArmMtlLib.h
+
+ ## @libraryclass Provides a Generic Interrupt Controller (GIC)
+ # configuration interface.
+ #
+ ArmGicLib|Include/Library/ArmGicLib.h
+
+ ## @libraryclass Provides a HyperVisor Call (HVC) interface.
+ #
+ ArmHvcLib|Include/Library/ArmHvcLib.h
+
+ ## @libraryclass Provides an interface to Arm registers.
+ #
+ ArmLib|Include/Library/ArmLib.h
+
+ ## @libraryclass Provides a Mmu interface.
+ #
+ ArmMmuLib|Include/Library/ArmMmuLib.h
+
+ ## @libraryclass Provides a Mailbox Transport Layer (MTL) interface
+ # for the System Control and Management Interface (SCMI).
+ #
+ ArmMtlLib|Include/Library/ArmMtlLib.h
+
+ ## @libraryclass Provides a System Monitor Call (SMC) interface.
+ #
+ ArmSmcLib|Include/Library/ArmSmcLib.h
+
+ ## @libraryclass Provides a SuperVisor Call (SVC) interface.
+ #
ArmSvcLib|Include/Library/ArmSvcLib.h
+
+ ## @libraryclass Provides a default exception handler.
+ #
+ DefaultExceptionHandlerLib|Include/Library/DefaultExceptionHandlerLib.h
+
+ ## @libraryclass Provides an interface to query miscellaneous OEM
+ # information.
+ #
+ OemMiscLib|Include/Library/OemMiscLib.h
+
+ ## @libraryclass Provides an OpTee interface.
+ #
OpteeLib|Include/Library/OpteeLib.h
+
+ ## @libraryclass Provides a semihosting interface.
+ #
+ SemihostLib|Include/Library/SemihostLib.h
+
+ ## @libraryclass Provides an interface for a StandaloneMm Mmu.
+ #
StandaloneMmMmuLib|Include/Library/StandaloneMmMmuLib.h
[Guids.common]
@@ -45,6 +99,8 @@
# Include/Guid/ArmMpCoreInfo.h
gArmMpCoreInfoGuid = { 0xa4ee0728, 0xe5d7, 0x4ac5, {0xb2, 0x1e, 0x65, 0x8e, 0xd8, 0x57, 0xe8, 0x34} }
+ gArmMmuReplaceLiveTranslationEntryFuncGuid = { 0xa8b50ff3, 0x08ec, 0x4dd3, {0xbf, 0x04, 0x28, 0xbf, 0x71, 0x75, 0xc7, 0x4a} }
+
[Protocols.common]
## Arm System Control and Management Interface(SCMI) Base protocol
## ArmPkg/Include/Protocol/ArmScmiBaseProtocol.h
@@ -84,6 +140,13 @@
# hardware coherency (i.e., no virtualization or cache coherent DMA)
gArmTokenSpaceGuid.PcdNormalMemoryNonshareableOverride|FALSE|BOOLEAN|0x00000043
+[PcdsFeatureFlag.AARCH64, PcdsFeatureFlag.ARM]
+ ## Used to select method for requesting services from S-EL1.
+ # TRUE - Selects FF-A calls for communication between S-EL0 and SPMC.
+ # FALSE - Selects SVC calls for communication between S-EL0 and SPMC.
+ # @Prompt Enable FF-A support.
+ gArmTokenSpaceGuid.PcdFfaEnable|FALSE|BOOLEAN|0x0000005B
+
[PcdsFixedAtBuild.common]
gArmTokenSpaceGuid.PcdTrustzoneSupport|FALSE|BOOLEAN|0x00000006
@@ -277,9 +340,9 @@
# UINT64 Mmio32CpuBase; // mapping target in 64-bit cpu-physical space
# UINT64 Mmio64CpuBase; // mapping target in 64-bit cpu-physical space
#
- # PcdPciIoTranslation = IoCpuBase - PcdPciIoBase;
- # PcdPciMmio32Translation = Mmio32CpuBase - (UINT64)PcdPciMmio32Base;
- # PcdPciMmio64Translation = Mmio64CpuBase - PcdPciMmio64Base;
+ # gEfiMdePkgTokenSpaceGuid.PcdPciIoTranslation = IoCpuBase - PcdPciIoBase;
+ # gEfiMdePkgTokenSpaceGuid.PcdPciMmio32Translation = Mmio32CpuBase - (UINT64)PcdPciMmio32Base;
+ # gEfiMdePkgTokenSpaceGuid.PcdPciMmio64Translation = Mmio64CpuBase - PcdPciMmio64Base;
#
# because (a) the target address space (ie. the cpu-physical space) is
# 64-bit, and (b) the translation values are meant as offsets for *modular*
@@ -296,11 +359,11 @@
# UINT64 TranslatedMmio64Address; // output parameter
#
# TranslatedIoAddress = UntranslatedIoAddress +
- # PcdPciIoTranslation;
+ # gEfiMdePkgTokenSpaceGuid.PcdPciIoTranslation;
# TranslatedMmio32Address = (UINT64)UntranslatedMmio32Address +
- # PcdPciMmio32Translation;
+ # gEfiMdePkgTokenSpaceGuid.PcdPciMmio32Translation;
# TranslatedMmio64Address = UntranslatedMmio64Address +
- # PcdPciMmio64Translation;
+ # gEfiMdePkgTokenSpaceGuid.PcdPciMmio64Translation;
#
# The modular arithmetic performed in UINT64 ensures that the translation
# works correctly regardless of the relation between IoCpuBase and
@@ -309,16 +372,20 @@
#
gArmTokenSpaceGuid.PcdPciIoBase|0x0|UINT64|0x00000050
gArmTokenSpaceGuid.PcdPciIoSize|0x0|UINT64|0x00000051
- gArmTokenSpaceGuid.PcdPciIoTranslation|0x0|UINT64|0x00000052
gArmTokenSpaceGuid.PcdPciMmio32Base|0x0|UINT32|0x00000053
gArmTokenSpaceGuid.PcdPciMmio32Size|0x0|UINT32|0x00000054
- gArmTokenSpaceGuid.PcdPciMmio32Translation|0x0|UINT64|0x00000055
gArmTokenSpaceGuid.PcdPciMmio64Base|0x0|UINT64|0x00000056
gArmTokenSpaceGuid.PcdPciMmio64Size|0x0|UINT64|0x00000057
- gArmTokenSpaceGuid.PcdPciMmio64Translation|0x0|UINT64|0x00000058
#
# Inclusive range of allowed PCI buses.
#
gArmTokenSpaceGuid.PcdPciBusMin|0x0|UINT32|0x00000059
gArmTokenSpaceGuid.PcdPciBusMax|0x0|UINT32|0x0000005A
+
+[PcdsDynamicEx]
+ #
+ # This dynamic PCD hold the GUID of a firmware FFS which contains
+ # the LinuxBoot payload.
+ #
+ gArmTokenSpaceGuid.PcdLinuxBootFileGuid|{0x0}|VOID*|0x0000005C