diff options
Diffstat (limited to 'ArmPkg/Library/ArmFfaLib/ArmFfaStandaloneMmLib.c')
-rw-r--r-- | ArmPkg/Library/ArmFfaLib/ArmFfaStandaloneMmLib.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/ArmPkg/Library/ArmFfaLib/ArmFfaStandaloneMmLib.c b/ArmPkg/Library/ArmFfaLib/ArmFfaStandaloneMmLib.c index ce70e07d48..2d7f834219 100644 --- a/ArmPkg/Library/ArmFfaLib/ArmFfaStandaloneMmLib.c +++ b/ArmPkg/Library/ArmFfaLib/ArmFfaStandaloneMmLib.c @@ -68,5 +68,22 @@ ArmFfaStandaloneMmLibConstructor ( IN EFI_MM_SYSTEM_TABLE *MmSystemTable
)
{
- return ArmFfaLibCommonInit ();
+ EFI_STATUS Status;
+
+ Status = ArmFfaLibCommonInit ();
+ if (Status == EFI_UNSUPPORTED) {
+ /*
+ * EFI_UNSUPPORTED means FF-A interface isn't available.
+ * However, for Standalone MM modules, FF-A availability is not required.
+ * i.e. Standalone MM could use SpmMm as a legitimate protocol.
+ * Thus, returning EFI_SUCCESS here to avoid the entrypoint to assert.
+ */
+ return EFI_SUCCESS;
+ }
+
+ if (EFI_ERROR (Status)) {
+ DEBUG ((DEBUG_ERROR, "%a failed. Status = %r\n", __func__, Status));
+ }
+
+ return Status;
}
|