1 /* SPDX-License-Identifier: MIT */
2 /*
3  * smccc.h
4  *
5  * SMC/HVC interface in accordance with SMC Calling Convention.
6  *
7  * Copyright 2017 (C) EPAM Systems
8  */
9 
10 #ifndef __XEN_PUBLIC_ARCH_ARM_SMCCC_H__
11 #define __XEN_PUBLIC_ARCH_ARM_SMCCC_H__
12 
13 #include "public/xen.h"
14 
15 /*
16  * Hypervisor Service version.
17  *
18  * We can't use XEN version here, because of SMCCC requirements:
19  * Major revision should change every time SMC/HVC function is removed.
20  * Minor revision should change every time SMC/HVC function is added.
21  * So, it is SMCCC protocol revision code, not XEN version.
22  *
23  * Those values are subjected to change, when interface will be extended.
24  */
25 #define XEN_SMCCC_MAJOR_REVISION 0
26 #define XEN_SMCCC_MINOR_REVISION 1
27 
28 /* Hypervisor Service UID. Randomly generated with uuidgen. */
29 #define XEN_SMCCC_UID XEN_DEFINE_UUID(0xa71812dcU, 0xc698, 0x4369, 0x9acf, \
30                                       0x79, 0xd1, 0x8d, 0xde, 0xe6, 0x67)
31 
32 /* Standard Service Service Call version. */
33 #define SSSC_SMCCC_MAJOR_REVISION 0
34 #define SSSC_SMCCC_MINOR_REVISION 1
35 
36 /* Standard Service Call UID. Randomly generated with uuidgen. */
37 #define SSSC_SMCCC_UID XEN_DEFINE_UUID(0xf863386fU, 0x4b39, 0x4cbd, 0x9220,\
38                                        0xce, 0x16, 0x41, 0xe5, 0x9f, 0x6f)
39 
40 #endif /* __XEN_PUBLIC_ARCH_ARM_SMCCC_H__ */
41 
42 /*
43  * Local variables:
44  * mode: C
45  * c-file-style: "BSD"
46  * c-basic-offset: 4
47  * indent-tabs-mode: nil
48  * End:b
49  */
50