]> git.proxmox.com Git - mirror_edk2.git/blame - ArmPkg/Include/Library/ArmHvcLib.h
ArmPkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / ArmPkg / Include / Library / ArmHvcLib.h
CommitLineData
58e92b39
AB
1/** @file\r
2*\r
3* Copyright (c) 2012-2014, ARM Limited. All rights reserved.\r
4*\r
4059386c 5* SPDX-License-Identifier: BSD-2-Clause-Patent\r
58e92b39
AB
6*\r
7**/\r
8\r
9#ifndef __ARM_HVC_LIB__\r
10#define __ARM_HVC_LIB__\r
11\r
12/**\r
13 * The size of the HVC 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_HVC_ARGS;\r
26\r
27/**\r
28 Trigger an HVC call\r
29\r
30 HVC calls can take up to 8 arguments and return up to 4 return values.\r
31 Therefore, the 4 first fields in the ARM_HVC_ARGS structure are used\r
32 for both input and output values.\r
33\r
34**/\r
35VOID\r
36ArmCallHvc (\r
37 IN OUT ARM_HVC_ARGS *Args\r
38 );\r
39\r
40#endif\r