summaryrefslogtreecommitdiffstats
path: root/ArmPkg/Library/ArmSmcLibNull/ArmSmcLibNull.c
diff options
context:
space:
mode:
Diffstat (limited to 'ArmPkg/Library/ArmSmcLibNull/ArmSmcLibNull.c')
-rw-r--r--ArmPkg/Library/ArmSmcLibNull/ArmSmcLibNull.c85
1 files changed, 85 insertions, 0 deletions
diff --git a/ArmPkg/Library/ArmSmcLibNull/ArmSmcLibNull.c b/ArmPkg/Library/ArmSmcLibNull/ArmSmcLibNull.c
index 3c1adef8eb..28514e43c2 100644
--- a/ArmPkg/Library/ArmSmcLibNull/ArmSmcLibNull.c
+++ b/ArmPkg/Library/ArmSmcLibNull/ArmSmcLibNull.c
@@ -1,4 +1,5 @@
//
+// Copyright (c) 2021, NUVIA Inc. All rights reserved.
// Copyright (c) 2016, Linaro Limited. All rights reserved.
//
// SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -7,6 +8,7 @@
#include <Base.h>
#include <Library/ArmSmcLib.h>
+#include <IndustryStandard/ArmStdSmc.h>
VOID
ArmCallSmc (
@@ -14,3 +16,86 @@ ArmCallSmc (
)
{
}
+
+/** Triggers an SMC call with 3 arguments.
+
+ @param Function The SMC function.
+ @param Arg1 Argument/result.
+ @param Arg2 Argument/result.
+ @param Arg3 Argument/result.
+
+ @return The SMC error code.
+**/
+UINTN
+ArmCallSmc3 (
+ IN UINTN Function,
+ IN OUT UINTN *Arg1 OPTIONAL,
+ IN OUT UINTN *Arg2 OPTIONAL,
+ IN OUT UINTN *Arg3 OPTIONAL
+ )
+{
+ return SMC_ARCH_CALL_NOT_SUPPORTED;
+}
+
+/** Trigger an SMC call with 2 arguments.
+
+ @param Function The SMC function.
+ @param Arg1 Argument/result.
+ @param Arg2 Argument/result.
+ @param Arg3 Result.
+
+ @return The SMC error code.
+
+**/
+UINTN
+ArmCallSmc2 (
+ IN UINTN Function,
+ IN OUT UINTN *Arg1 OPTIONAL,
+ IN OUT UINTN *Arg2 OPTIONAL,
+ OUT UINTN *Arg3 OPTIONAL
+ )
+{
+ return SMC_ARCH_CALL_NOT_SUPPORTED;
+}
+
+/** Trigger an SMC call with 1 argument.
+
+ @param Function The SMC function.
+ @param Arg1 Argument/result.
+ @param Arg2 Result.
+ @param Arg3 Result.
+
+ @return The SMC error code.
+
+**/
+UINTN
+ArmCallSmc1 (
+ IN UINTN Function,
+ IN OUT UINTN *Arg1 OPTIONAL,
+ OUT UINTN *Arg2 OPTIONAL,
+ OUT UINTN *Arg3 OPTIONAL
+ )
+{
+ return SMC_ARCH_CALL_NOT_SUPPORTED;
+}
+
+/** Trigger an SMC call with 0 arguments.
+
+ @param Function The SMC function.
+ @param Arg1 Result.
+ @param Arg2 Result.
+ @param Arg3 Result.
+
+ @return The SMC error code.
+
+**/
+UINTN
+ArmCallSmc0 (
+ IN UINTN Function,
+ OUT UINTN *Arg1 OPTIONAL,
+ OUT UINTN *Arg2 OPTIONAL,
+ OUT UINTN *Arg3 OPTIONAL
+ )
+{
+ return SMC_ARCH_CALL_NOT_SUPPORTED;
+}