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