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