xref: /optee_os/core/arch/arm/include/smccc.h (revision 3d2ffcf3abd7c1395be06228174445356186dd5a)
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