2 // Copyright (c) 2021, NUVIA Inc. All rights reserved.
3 // Copyright (c) 2016, Linaro Limited. All rights reserved.
5 // SPDX-License-Identifier: BSD-2-Clause-Patent
10 #include <Library/ArmSmcLib.h>
11 #include <IndustryStandard/ArmStdSmc.h>
15 IN OUT ARM_SMC_ARGS
*Args
20 /** Triggers an SMC call with 3 arguments.
22 @param Function The SMC function.
23 @param Arg1 Argument/result.
24 @param Arg2 Argument/result.
25 @param Arg3 Argument/result.
27 @return The SMC error code.
32 IN OUT UINTN
*Arg1 OPTIONAL
,
33 IN OUT UINTN
*Arg2 OPTIONAL
,
34 IN OUT UINTN
*Arg3 OPTIONAL
37 return SMC_ARCH_CALL_NOT_SUPPORTED
;
40 /** Trigger an SMC call with 2 arguments.
42 @param Function The SMC function.
43 @param Arg1 Argument/result.
44 @param Arg2 Argument/result.
47 @return The SMC error code.
53 IN OUT UINTN
*Arg1 OPTIONAL
,
54 IN OUT UINTN
*Arg2 OPTIONAL
,
55 OUT UINTN
*Arg3 OPTIONAL
58 return SMC_ARCH_CALL_NOT_SUPPORTED
;
61 /** Trigger an SMC call with 1 argument.
63 @param Function The SMC function.
64 @param Arg1 Argument/result.
68 @return The SMC error code.
74 IN OUT UINTN
*Arg1 OPTIONAL
,
75 OUT UINTN
*Arg2 OPTIONAL
,
76 OUT UINTN
*Arg3 OPTIONAL
79 return SMC_ARCH_CALL_NOT_SUPPORTED
;
82 /** Trigger an SMC call with 0 arguments.
84 @param Function The SMC function.
89 @return The SMC error code.
95 OUT UINTN
*Arg1 OPTIONAL
,
96 OUT UINTN
*Arg2 OPTIONAL
,
97 OUT UINTN
*Arg3 OPTIONAL
100 return SMC_ARCH_CALL_NOT_SUPPORTED
;