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