From ae8ab7190cb86b95455328870eb747f50a9bf291 Mon Sep 17 00:00:00 2001 From: Ard Biesheuvel Date: Fri, 15 Nov 2024 11:17:15 +0100 Subject: [PATCH] ArmVirtPkg/ArmVirtKvmTool: Use PSCI/SMCCC conduit from FDT ArmVirtKvmTool might execute at EL2 when running under nested virtualization, and in this case, it should not use HVC but SMC to invoke PSCI and SMCCC services. Like QEMU, kvmtool provides the PSCI conduit via a node in the FDT, and as per the SMCCC, the PSCI conduit and the SMCCC conduit are guaranteed to be the same. So switch to the ArmMonitorLib implementation that selects the conduit based on this FDT node. Signed-off-by: Ard Biesheuvel --- ArmVirtPkg/ArmVirtKvmTool.dsc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ArmVirtPkg/ArmVirtKvmTool.dsc b/ArmVirtPkg/ArmVirtKvmTool.dsc index 2c85ca3db29f..6565ea35c124 100644 --- a/ArmVirtPkg/ArmVirtKvmTool.dsc +++ b/ArmVirtPkg/ArmVirtKvmTool.dsc @@ -84,7 +84,7 @@ HwInfoParserLib|DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParserLib.inf DynamicPlatRepoLib|DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/DynamicPlatRepoLib.inf - ArmMonitorLib|ArmPkg/Library/ArmMonitorLib/ArmMonitorLib.inf + ArmMonitorLib|ArmVirtPkg/Library/ArmVirtMonitorLib/ArmVirtMonitorLib.inf ArmTrngLib|ArmPkg/Library/ArmTrngLib/ArmTrngLib.inf [LibraryClasses.common.SEC, LibraryClasses.common.PEI_CORE, LibraryClasses.common.PEIM]