xref: /arm-trusted-firmware/include/services/std_svc.h (revision 91f16700b400a8c0651d24a598fc48ee2997a0d7)
1*91f16700Schasinglulu /*
2*91f16700Schasinglulu  * Copyright (c) 2014-2016, ARM Limited and Contributors. All rights reserved.
3*91f16700Schasinglulu  *
4*91f16700Schasinglulu  * SPDX-License-Identifier: BSD-3-Clause
5*91f16700Schasinglulu  */
6*91f16700Schasinglulu 
7*91f16700Schasinglulu #ifndef STD_SVC_H
8*91f16700Schasinglulu #define STD_SVC_H
9*91f16700Schasinglulu 
10*91f16700Schasinglulu /* SMC function IDs for Standard Service queries */
11*91f16700Schasinglulu 
12*91f16700Schasinglulu #define ARM_STD_SVC_CALL_COUNT		0x8400ff00
13*91f16700Schasinglulu #define ARM_STD_SVC_UID			0x8400ff01
14*91f16700Schasinglulu /*					0x8400ff02 is reserved */
15*91f16700Schasinglulu #define ARM_STD_SVC_VERSION		0x8400ff03
16*91f16700Schasinglulu 
17*91f16700Schasinglulu /* ARM Standard Service Calls version numbers */
18*91f16700Schasinglulu #define STD_SVC_VERSION_MAJOR		0x0
19*91f16700Schasinglulu #define STD_SVC_VERSION_MINOR		0x1
20*91f16700Schasinglulu 
21*91f16700Schasinglulu /*
22*91f16700Schasinglulu  * Get the ARM Standard Service argument from EL3 Runtime.
23*91f16700Schasinglulu  * This function must be implemented by EL3 Runtime and the
24*91f16700Schasinglulu  * `svc_mask` identifies the service. `svc_mask` is a bit
25*91f16700Schasinglulu  * mask identifying the range of SMC function IDs available
26*91f16700Schasinglulu  * to the service.
27*91f16700Schasinglulu  */
28*91f16700Schasinglulu uintptr_t get_arm_std_svc_args(unsigned int svc_mask);
29*91f16700Schasinglulu 
30*91f16700Schasinglulu #endif /* STD_SVC_H */
31