]> git.proxmox.com Git - mirror_edk2.git/blame - ArmPkg/Library/ArmSmcLibNull/ArmSmcLibNull.c
ArmPkg: Add SMC helper functions
[mirror_edk2.git] / ArmPkg / Library / ArmSmcLibNull / ArmSmcLibNull.c
CommitLineData
11ceb258 1//\r
4d303524 2// Copyright (c) 2021, NUVIA Inc. All rights reserved.\r
11ceb258
LE
3// Copyright (c) 2016, Linaro Limited. All rights reserved.\r
4//\r
5// SPDX-License-Identifier: BSD-2-Clause-Patent\r
6//\r
7//\r
8\r
9#include <Base.h>\r
10#include <Library/ArmSmcLib.h>\r
4d303524 11#include <IndustryStandard/ArmStdSmc.h>\r
11ceb258
LE
12\r
13VOID\r
14ArmCallSmc (\r
429309e0 15 IN OUT ARM_SMC_ARGS *Args\r
11ceb258
LE
16 )\r
17{\r
18}\r
4d303524
RC
19\r
20/** Triggers an SMC call with 3 arguments.\r
21\r
22 @param Function The SMC function.\r
23 @param Arg1 Argument/result.\r
24 @param Arg2 Argument/result.\r
25 @param Arg3 Argument/result.\r
26\r
27 @return The SMC error code.\r
28**/\r
29UINTN\r
30ArmCallSmc3 (\r
31 IN UINTN Function,\r
32 IN OUT UINTN *Arg1 OPTIONAL,\r
33 IN OUT UINTN *Arg2 OPTIONAL,\r
34 IN OUT UINTN *Arg3 OPTIONAL\r
35 )\r
36{\r
37 return SMC_ARCH_CALL_NOT_SUPPORTED;\r
38}\r
39\r
40/** Trigger an SMC call with 2 arguments.\r
41\r
42 @param Function The SMC function.\r
43 @param Arg1 Argument/result.\r
44 @param Arg2 Argument/result.\r
45 @param Arg3 Result.\r
46\r
47 @return The SMC error code.\r
48\r
49**/\r
50UINTN\r
51ArmCallSmc2 (\r
52 IN UINTN Function,\r
53 IN OUT UINTN *Arg1 OPTIONAL,\r
54 IN OUT UINTN *Arg2 OPTIONAL,\r
55 OUT UINTN *Arg3 OPTIONAL\r
56 )\r
57{\r
58 return SMC_ARCH_CALL_NOT_SUPPORTED;\r
59}\r
60\r
61/** Trigger an SMC call with 1 argument.\r
62\r
63 @param Function The SMC function.\r
64 @param Arg1 Argument/result.\r
65 @param Arg2 Result.\r
66 @param Arg3 Result.\r
67\r
68 @return The SMC error code.\r
69\r
70**/\r
71UINTN\r
72ArmCallSmc1 (\r
73 IN UINTN Function,\r
74 IN OUT UINTN *Arg1 OPTIONAL,\r
75 OUT UINTN *Arg2 OPTIONAL,\r
76 OUT UINTN *Arg3 OPTIONAL\r
77 )\r
78{\r
79 return SMC_ARCH_CALL_NOT_SUPPORTED;\r
80}\r
81\r
82/** Trigger an SMC call with 0 arguments.\r
83\r
84 @param Function The SMC function.\r
85 @param Arg1 Result.\r
86 @param Arg2 Result.\r
87 @param Arg3 Result.\r
88\r
89 @return The SMC error code.\r
90\r
91**/\r
92UINTN\r
93ArmCallSmc0 (\r
94 IN UINTN Function,\r
95 OUT UINTN *Arg1 OPTIONAL,\r
96 OUT UINTN *Arg2 OPTIONAL,\r
97 OUT UINTN *Arg3 OPTIONAL\r
98 )\r
99{\r
100 return SMC_ARCH_CALL_NOT_SUPPORTED;\r
101}\r