]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPkg/Library/ArmSmcLibNull/ArmSmcLibNull.c
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / ArmPkg / Library / ArmSmcLibNull / ArmSmcLibNull.c
index 2d79aadaf1fa3f16fdbd76a9bfe17b65dba7dcf8..28514e43c2de229b9d1f49cccac682b2f0abb0f8 100644 (file)
@@ -1,4 +1,5 @@
 //\r
+//  Copyright (c) 2021, NUVIA Inc. All rights reserved.\r
 //  Copyright (c) 2016, Linaro Limited. All rights reserved.\r
 //\r
 //  SPDX-License-Identifier: BSD-2-Clause-Patent\r
@@ -7,10 +8,94 @@
 \r
 #include <Base.h>\r
 #include <Library/ArmSmcLib.h>\r
+#include <IndustryStandard/ArmStdSmc.h>\r
 \r
 VOID\r
 ArmCallSmc (\r
-  IN OUT ARM_SMC_ARGS *Args\r
+  IN OUT ARM_SMC_ARGS  *Args\r
   )\r
 {\r
 }\r
+\r
+/** Triggers an SMC call with 3 arguments.\r
+\r
+  @param Function The SMC function.\r
+  @param Arg1      Argument/result.\r
+  @param Arg2      Argument/result.\r
+  @param Arg3      Argument/result.\r
+\r
+  @return The SMC error code.\r
+**/\r
+UINTN\r
+ArmCallSmc3 (\r
+  IN     UINTN  Function,\r
+  IN OUT UINTN  *Arg1 OPTIONAL,\r
+  IN OUT UINTN  *Arg2 OPTIONAL,\r
+  IN OUT UINTN  *Arg3 OPTIONAL\r
+  )\r
+{\r
+  return SMC_ARCH_CALL_NOT_SUPPORTED;\r
+}\r
+\r
+/** Trigger an SMC call with 2 arguments.\r
+\r
+  @param Function The SMC function.\r
+  @param Arg1      Argument/result.\r
+  @param Arg2      Argument/result.\r
+  @param Arg3      Result.\r
+\r
+  @return The SMC error code.\r
+\r
+**/\r
+UINTN\r
+ArmCallSmc2 (\r
+  IN     UINTN  Function,\r
+  IN OUT UINTN  *Arg1 OPTIONAL,\r
+  IN OUT UINTN  *Arg2 OPTIONAL,\r
+  OUT UINTN     *Arg3 OPTIONAL\r
+  )\r
+{\r
+  return SMC_ARCH_CALL_NOT_SUPPORTED;\r
+}\r
+\r
+/** Trigger an SMC call with 1 argument.\r
+\r
+  @param Function The SMC function.\r
+  @param Arg1      Argument/result.\r
+  @param Arg2      Result.\r
+  @param Arg3      Result.\r
+\r
+  @return The SMC error code.\r
+\r
+**/\r
+UINTN\r
+ArmCallSmc1 (\r
+  IN     UINTN  Function,\r
+  IN OUT UINTN  *Arg1 OPTIONAL,\r
+  OUT UINTN     *Arg2 OPTIONAL,\r
+  OUT UINTN     *Arg3 OPTIONAL\r
+  )\r
+{\r
+  return SMC_ARCH_CALL_NOT_SUPPORTED;\r
+}\r
+\r
+/** Trigger an SMC call with 0 arguments.\r
+\r
+  @param Function The SMC function.\r
+  @param Arg1     Result.\r
+  @param Arg2     Result.\r
+  @param Arg3     Result.\r
+\r
+  @return The SMC error code.\r
+\r
+**/\r
+UINTN\r
+ArmCallSmc0 (\r
+  IN  UINTN  Function,\r
+  OUT UINTN  *Arg1 OPTIONAL,\r
+  OUT UINTN  *Arg2 OPTIONAL,\r
+  OUT UINTN  *Arg3 OPTIONAL\r
+  )\r
+{\r
+  return SMC_ARCH_CALL_NOT_SUPPORTED;\r
+}\r