blob: b0614fb426a401813edcf24adebf50903cb94709 [file] [log] [blame]
Jeenu Viswambharan1814a3e2014-02-28 10:08:33 +00001/*
Soby Mathew0d786072016-03-24 16:56:29 +00002 * Copyright (c) 2014-2016, ARM Limited and Contributors. All rights reserved.
Jeenu Viswambharan1814a3e2014-02-28 10:08:33 +00003 *
dp-armfa3cf0b2017-05-03 09:38:09 +01004 * SPDX-License-Identifier: BSD-3-Clause
Jeenu Viswambharan1814a3e2014-02-28 10:08:33 +00005 */
6
Antonio Nino Diaz5eb88372018-11-08 10:20:19 +00007#ifndef STD_SVC_H
8#define STD_SVC_H
Jeenu Viswambharan1814a3e2014-02-28 10:08:33 +00009
10/* SMC function IDs for Standard Service queries */
11
12#define ARM_STD_SVC_CALL_COUNT 0x8400ff00
13#define ARM_STD_SVC_UID 0x8400ff01
14/* 0x8400ff02 is reserved */
15#define ARM_STD_SVC_VERSION 0x8400ff03
16
17/* ARM Standard Service Calls version numbers */
18#define STD_SVC_VERSION_MAJOR 0x0
19#define STD_SVC_VERSION_MINOR 0x1
20
Soby Mathew8da89662016-09-19 17:21:15 +010021/*
22 * Get the ARM Standard Service argument from EL3 Runtime.
23 * This function must be implemented by EL3 Runtime and the
24 * `svc_mask` identifies the service. `svc_mask` is a bit
25 * mask identifying the range of SMC function IDs available
26 * to the service.
27 */
28uintptr_t get_arm_std_svc_args(unsigned int svc_mask);
29
Antonio Nino Diaz5eb88372018-11-08 10:20:19 +000030#endif /* STD_SVC_H */