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