]> git.proxmox.com Git - mirror_edk2.git/blame - ArmPkg/Include/Library/ArmSvcLib.h
ArmPkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / ArmPkg / Include / Library / ArmSvcLib.h
CommitLineData
4d163696
SV
1/** @file\r
2*\r
3* Copyright (c) 2016 - 2017, ARM Limited. All rights reserved.\r
4*\r
4059386c 5* SPDX-License-Identifier: BSD-2-Clause-Patent\r
4d163696
SV
6*\r
7**/\r
8\r
9#ifndef __ARM_SVC_LIB__\r
10#define __ARM_SVC_LIB__\r
11\r
12/**\r
13 * The size of the SVC arguments are different between AArch64 and AArch32.\r
14 * The native size is used for the arguments.\r
15 */\r
16typedef struct {\r
17 UINTN Arg0;\r
18 UINTN Arg1;\r
19 UINTN Arg2;\r
20 UINTN Arg3;\r
21 UINTN Arg4;\r
22 UINTN Arg5;\r
23 UINTN Arg6;\r
24 UINTN Arg7;\r
25} ARM_SVC_ARGS;\r
26\r
27/**\r
28 Trigger an SVC call\r
29\r
30 SVC calls can take up to 7 arguments and return up to 4 return values.\r
31 Therefore, the 4 first fields in the ARM_SVC_ARGS structure are used\r
32 for both input and output values.\r
33\r
34**/\r
35VOID\r
36ArmCallSvc (\r
37 IN OUT ARM_SVC_ARGS *Args\r
38 );\r
39\r
40#endif\r