1532ed618SSoby Mathew /* 2532ed618SSoby Mathew * Copyright (c) 2014-2016, ARM Limited and Contributors. All rights reserved. 3532ed618SSoby Mathew * 482cb2c1aSdp-arm * SPDX-License-Identifier: BSD-3-Clause 5532ed618SSoby Mathew */ 6532ed618SSoby Mathew 7*c3cf06f1SAntonio Nino Diaz #ifndef STD_SVC_H 8*c3cf06f1SAntonio Nino Diaz #define STD_SVC_H 9532ed618SSoby Mathew 10532ed618SSoby Mathew /* SMC function IDs for Standard Service queries */ 11532ed618SSoby Mathew 12532ed618SSoby Mathew #define ARM_STD_SVC_CALL_COUNT 0x8400ff00 13532ed618SSoby Mathew #define ARM_STD_SVC_UID 0x8400ff01 14532ed618SSoby Mathew /* 0x8400ff02 is reserved */ 15532ed618SSoby Mathew #define ARM_STD_SVC_VERSION 0x8400ff03 16532ed618SSoby Mathew 17532ed618SSoby Mathew /* ARM Standard Service Calls version numbers */ 18532ed618SSoby Mathew #define STD_SVC_VERSION_MAJOR 0x0 19532ed618SSoby Mathew #define STD_SVC_VERSION_MINOR 0x1 20532ed618SSoby Mathew 2158e946aeSSoby Mathew /* 2258e946aeSSoby Mathew * Get the ARM Standard Service argument from EL3 Runtime. 2358e946aeSSoby Mathew * This function must be implemented by EL3 Runtime and the 2458e946aeSSoby Mathew * `svc_mask` identifies the service. `svc_mask` is a bit 2558e946aeSSoby Mathew * mask identifying the range of SMC function IDs available 2658e946aeSSoby Mathew * to the service. 2758e946aeSSoby Mathew */ 2858e946aeSSoby Mathew uintptr_t get_arm_std_svc_args(unsigned int svc_mask); 2958e946aeSSoby Mathew 30*c3cf06f1SAntonio Nino Diaz #endif /* STD_SVC_H */ 31