aboutsummaryrefslogtreecommitdiff
path: root/include/services
diff options
context:
space:
mode:
authorAchin Gupta <achin.gupta@arm.com>2019-10-11 15:41:16 +0100
committerMax Shvetsov <maksims.svecovs@arm.com>2020-02-10 14:09:21 +0000
commitbdd2596d42f1e96f0135be23d2bd936cc7eb30e5 (patch)
treef628be1d2800c712001e8fb9da476060a09de99b /include/services
parent64758c97eec6b646faae15ccc4f3dad64a3a968d (diff)
downloadtrusted-firmware-a-bdd2596d42f1e96f0135be23d2bd936cc7eb30e5.tar.gz
SPMD: add SPM dispatcher based upon SPCI Beta 0 spec
This patch adds a rudimentary SPM dispatcher component in EL3. It does the following: - Consumes the TOS_FW_CONFIG to determine properties of the SPM core component - Initialises the SPM core component which resides in the BL32 image - Implements a handler for SPCI calls from either security state. Some basic validation is done for each call but in most cases it is simply forwarded as-is to the "other" security state. Signed-off-by: Achin Gupta <achin.gupta@arm.com> Signed-off-by: Artsem Artsemenka <artsem.artsemenka@arm.com> Change-Id: I7d116814557f7255f4f4ebb797d1619d4fbab590
Diffstat (limited to 'include/services')
-rw-r--r--include/services/spmd_svc.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/include/services/spmd_svc.h b/include/services/spmd_svc.h
new file mode 100644
index 0000000000..6e4caf266e
--- /dev/null
+++ b/include/services/spmd_svc.h
@@ -0,0 +1,25 @@
+/*
+ * Copyright (c) 2020, ARM Limited and Contributors. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#ifndef SPMD_SVC_H
+#define SPMD_SVC_H
+
+#ifndef __ASSEMBLER__
+#include <services/spci_svc.h>
+#include <stdint.h>
+
+int32_t spmd_setup(void);
+uint64_t spmd_smc_handler(uint32_t smc_fid,
+ uint64_t x1,
+ uint64_t x2,
+ uint64_t x3,
+ uint64_t x4,
+ void *cookie,
+ void *handle,
+ uint64_t flags);
+#endif /* __ASSEMBLER__ */
+
+#endif /* SPMD_SVC_H */