blob: 57d8dc5a29a0d090a0b42c897bbde9aafb0f7f8a [file] [log] [blame]
Antonio Nino Diaze46924e2018-11-08 10:58:26 +00001/*
2 * Copyright (c) 2018, Arm Limited. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef SPRT_CLIENT_PRIVATE_H
8#define SPRT_CLIENT_PRIVATE_H
9
10#include <stdint.h>
11
12struct svc_args {
13 u_register_t arg0;
14 u_register_t arg1;
15 u_register_t arg2;
16 u_register_t arg3;
17 u_register_t arg4;
18 u_register_t arg5;
19 u_register_t arg6;
20 u_register_t arg7;
21};
22
23/*
24 * Invoke an SVC call.
25 *
26 * The arguments to pass through the SVC call must be stored in the svc_args
27 * structure. The return values of the SVC call will be stored in the same
28 * structure (overriding the input arguments).
29 *
30 * Returns the first return value. It is equivalent to args.arg0 but is also
31 * provided as the return value for convenience.
32 */
33u_register_t sprt_client_svc(struct svc_args *args);
34
35#endif /* SPRT_CLIENT_PRIVATE_H */