diff options
Diffstat (limited to 'core/arch/arm/include/sm/std_smc.h')
-rw-r--r-- | core/arch/arm/include/sm/std_smc.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/core/arch/arm/include/sm/std_smc.h b/core/arch/arm/include/sm/std_smc.h new file mode 100644 index 0000000..2b2e54d --- /dev/null +++ b/core/arch/arm/include/sm/std_smc.h @@ -0,0 +1,22 @@ +#ifndef __STD_SMC_H__ +#define __STD_SMC_H__ + +/* SMC function IDs for Standard Service queries */ + +#define ARM_STD_SVC_CALL_COUNT 0x8400ff00 +#define ARM_STD_SVC_UID 0x8400ff01 +/* 0x8400ff02 is reserved */ +#define ARM_STD_SVC_VERSION 0x8400ff03 + +/* ARM Standard Service Calls version numbers */ +#define STD_SVC_VERSION_MAJOR 0x0 +#define STD_SVC_VERSION_MINOR 0x1 + +/* The macros below are used to identify PSCI calls from the SMC function ID */ +#define PSCI_FID_MASK 0xffe0u +#define PSCI_FID_VALUE 0u +#define is_psci_fid(_fid) \ + (((_fid) & PSCI_FID_MASK) == PSCI_FID_VALUE) + +void smc_std_handler(struct thread_smc_args *args); +#endif |