1*3d2ffcf3SJens Wiklander /* SPDX-License-Identifier: BSD-2-Clause */ 2*3d2ffcf3SJens Wiklander /* 3*3d2ffcf3SJens Wiklander * Copyright (c) 2018, Linaro Limited 4*3d2ffcf3SJens Wiklander */ 5*3d2ffcf3SJens Wiklander 6*3d2ffcf3SJens Wiklander #ifndef __SMCCC_H 7*3d2ffcf3SJens Wiklander #define __SMCCC_H 8*3d2ffcf3SJens Wiklander 9*3d2ffcf3SJens Wiklander /* 10*3d2ffcf3SJens Wiklander * Describes features of SMC Calling Convention from v1.1 11*3d2ffcf3SJens Wiklander * See also https://developer.arm.com/-/media/developer/pdf/ARM_DEN_0070A_Firmware_interfaces_for_mitigating_CVE-2017-5715.pdf 12*3d2ffcf3SJens Wiklander */ 13*3d2ffcf3SJens Wiklander 14*3d2ffcf3SJens Wiklander /* 15*3d2ffcf3SJens Wiklander * Retrieve the implemented version of the SMC Calling Convention 16*3d2ffcf3SJens Wiklander * Mandatory from SMCCC v1.1 17*3d2ffcf3SJens Wiklander * Optional in SMCCC v1.0 18*3d2ffcf3SJens Wiklander */ 19*3d2ffcf3SJens Wiklander #define SMCCC_VERSION 0x80000000 20*3d2ffcf3SJens Wiklander 21*3d2ffcf3SJens Wiklander /* 22*3d2ffcf3SJens Wiklander * Determine the availability and capability of Arm Architecture Service 23*3d2ffcf3SJens Wiklander * functions. 24*3d2ffcf3SJens Wiklander * Mandatory from SMCCC v1.1 25*3d2ffcf3SJens Wiklander * Optional for SMCCC v1.0 26*3d2ffcf3SJens Wiklander */ 27*3d2ffcf3SJens Wiklander #define SMCCC_ARCH_FEATURES 0x80000001 28*3d2ffcf3SJens Wiklander 29*3d2ffcf3SJens Wiklander /* 30*3d2ffcf3SJens Wiklander * Execute the mitigation for CVE-2017-5715 on the calling PE 31*3d2ffcf3SJens Wiklander * Optional from SMCCC v1.1 32*3d2ffcf3SJens Wiklander * Not supported in SMCCC v1.0 33*3d2ffcf3SJens Wiklander */ 34*3d2ffcf3SJens Wiklander #define SMCCC_ARCH_WORKAROUND_1 0x80008000 35*3d2ffcf3SJens Wiklander 36*3d2ffcf3SJens Wiklander #endif /*__SMCCC_H*/ 37