diff options
author | Rebecca Cran <quic_rcran@quicinc.com> | 2023-01-16 21:57:31 -0700 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2023-01-27 14:18:56 +0000 |
commit | e7aac7fc137e247edad22f7ee53b9a1fba227397 (patch) | |
tree | df00b970e6363d17f13d04dab6c7a397cf48821c /ArmPkg/Drivers/ArmPsciMpServicesDxe/ArmPsciMpServicesDxe.inf | |
parent | d1855afc6e0ef37eeaef1c8c10aff55b1c9995b9 (diff) | |
download | edk2-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.inf | 56 |
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
|