FF-A: Register SPMC secondary core entry point.
When the primary physical core boots, the SPMC registers
the entry point (FFA_SECONDARY_EP_REGISTER at physical
FF-A instance) used for secondary core cold boot to the
SPMD. All Secure Partitions are then initialized on their
primary Execution Context. When the NWd (Hypervisor or OS
Kernel) boots, it calls PSCI_CPU_ON (into EL3) for waking
up physical cores. The PSCI layer calls into SPMD PM hooks,
then the SPMD calls into the SPMC by an exception return to
the registered secondary entry point. The target secondary
core then reaches vcpu_main. As follow-up to 56a62c96, PSCI
service calls from within the SWd are prevented.
Change-Id: I2bd42ea54e1a7feebff20e878345ec196ff352e9
Signed-off-by: Max Shvetsov <maksims.svecovs@arm.com>
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
diff --git a/inc/hf/addr.h b/inc/hf/addr.h
index 59e1b7a..1f1e2bf 100644
--- a/inc/hf/addr.h
+++ b/inc/hf/addr.h
@@ -71,7 +71,7 @@
}
/**
- * Initializes an intermeditate physical address.
+ * Initializes an intermediate physical address.
*/
static inline ipaddr_t ipa_init(uintpaddr_t ipa)
{
diff --git a/inc/vmapi/hf/ffa.h b/inc/vmapi/hf/ffa.h
index 4e09301..30d50b7 100644
--- a/inc/vmapi/hf/ffa.h
+++ b/inc/vmapi/hf/ffa.h
@@ -25,6 +25,7 @@
/* FF-A function identifiers. */
#define FFA_ERROR_32 0x84000060
#define FFA_SUCCESS_32 0x84000061
+#define FFA_SUCCESS_64 0xC4000061
#define FFA_INTERRUPT_32 0x84000062
#define FFA_VERSION_32 0x84000063
#define FFA_FEATURES_32 0x84000064
@@ -50,6 +51,8 @@
#define FFA_MEM_RECLAIM_32 0x84000077
#define FFA_MEM_FRAG_RX_32 0x8400007A
#define FFA_MEM_FRAG_TX_32 0x8400007B
+#define FFA_SECONDARY_EP_REGISTER_32 0x84000084
+#define FFA_SECONDARY_EP_REGISTER_64 0xC4000084
/* FF-A error codes. */
#define FFA_NOT_SUPPORTED INT32_C(-1)