+\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