summaryrefslogtreecommitdiffstats
path: root/ArmPkg/Drivers/ArmPsciMpServicesDxe/ArmPsciMpServicesDxe.inf
diff options
context:
space:
mode:
authorRebecca Cran <quic_rcran@quicinc.com>2023-01-16 21:57:31 -0700
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2023-01-27 14:18:56 +0000
commite7aac7fc137e247edad22f7ee53b9a1fba227397 (patch)
treedf00b970e6363d17f13d04dab6c7a397cf48821c /ArmPkg/Drivers/ArmPsciMpServicesDxe/ArmPsciMpServicesDxe.inf
parentd1855afc6e0ef37eeaef1c8c10aff55b1c9995b9 (diff)
downloadedk2-e7aac7fc137e247edad22f7ee53b9a1fba227397.tar.gz
edk2-e7aac7fc137e247edad22f7ee53b9a1fba227397.tar.bz2
edk2-e7aac7fc137e247edad22f7ee53b9a1fba227397.zip
ArmPkg: implement EFI_MP_SERVICES_PROTOCOL based on PSCI calls
Add support for EFI_MP_SERVICES_PROTOCOL during the DXE phase under AArch64. PSCI_CPU_ON is called to power on the core, the supplied procedure is executed and PSCI_CPU_OFF is called to power off the core. Fixes contributed by Ard Biesheuvel. Signed-off-by: Rebecca Cran <rebecca@quicinc.com> Reviewed-by: Ard Biesheuvel <ardb@kernel.org> Tested-by: Kun Qin <kun.qin@microsoft.com>
Diffstat (limited to 'ArmPkg/Drivers/ArmPsciMpServicesDxe/ArmPsciMpServicesDxe.inf')
-rw-r--r--ArmPkg/Drivers/ArmPsciMpServicesDxe/ArmPsciMpServicesDxe.inf56
1 files changed, 56 insertions, 0 deletions
diff --git a/ArmPkg/Drivers/ArmPsciMpServicesDxe/ArmPsciMpServicesDxe.inf b/ArmPkg/Drivers/ArmPsciMpServicesDxe/ArmPsciMpServicesDxe.inf
new file mode 100644
index 0000000000..2c9ab99038
--- /dev/null
+++ b/ArmPkg/Drivers/ArmPsciMpServicesDxe/ArmPsciMpServicesDxe.inf
@@ -0,0 +1,56 @@
+## @file
+# ARM MP services protocol driver
+#
+# Copyright (c) 2022, Qualcomm Innovation Center, Inc. All rights reserved.<BR>
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+[Defines]
+ INF_VERSION = 1.27
+ BASE_NAME = ArmPsciMpServicesDxe
+ FILE_GUID = 007ab472-dc4a-4df8-a5c2-abb4a327278c
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+
+ ENTRY_POINT = ArmPsciMpServicesDxeInitialize
+
+[Sources.Common]
+ ArmPsciMpServicesDxe.c
+ MpFuncs.S
+ MpServicesInternal.h
+
+[Packages]
+ ArmPkg/ArmPkg.dec
+ ArmPlatformPkg/ArmPlatformPkg.dec
+ EmbeddedPkg/EmbeddedPkg.dec
+ MdePkg/MdePkg.dec
+ MdeModulePkg/MdeModulePkg.dec
+
+[LibraryClasses]
+ ArmLib
+ ArmMmuLib
+ ArmSmcLib
+ BaseMemoryLib
+ CacheMaintenanceLib
+ CpuExceptionHandlerLib
+ DebugLib
+ HobLib
+ MemoryAllocationLib
+ UefiBootServicesTableLib
+ UefiDriverEntryPoint
+ UefiLib
+
+[Protocols]
+ gEfiMpServiceProtocolGuid ## PRODUCES
+ gEfiLoadedImageProtocolGuid ## CONSUMES
+
+[Guids]
+ gArmMpCoreInfoGuid
+
+[Depex]
+ TRUE
+
+[BuildOptions]
+ GCC:*_*_*_CC_FLAGS = -mstrict-align