test(ff-a): test secondary core boot
Secure partitions register their secondary entrypoint at
initialization.
Added test to validate secondary core bring up:
- The primary VM in the ffa_secure_partitions test setup, starts the
secondary cores.
- Each secondary EC is resumed from the first partition, the respective
pinned core's stack is setup, the mmu and caches are enabled, and
execution gets to the message loop (function `test_main_sp`).
- In the primary VM's execution context, it issues a echo request at
every core, to validate they are up and running.
Change-Id: I3a7e9f5fd8eb54181ed0d1af2becaed4268fa0fb
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Signed-off-by: J-Alves <joao.alves@arm.com>
diff --git a/inc/vmapi/hf/call.h b/inc/vmapi/hf/call.h
index 44aaf39..5b6ac0d 100644
--- a/inc/vmapi/hf/call.h
+++ b/inc/vmapi/hf/call.h
@@ -63,6 +63,17 @@
}
/**
+ * DEN0077A FF-A v1.1 Beta0 section 18.3.2.1
+ * Registers vCPU secondary entry point for the caller VM.
+ * Called from secure virtual FF-A instance.
+ */
+static inline struct ffa_value ffa_secondary_ep_register(uintptr_t address)
+{
+ return ffa_call((struct ffa_value){.func = FFA_SECONDARY_EP_REGISTER_64,
+ .arg1 = address});
+}
+
+/**
* Returns the VM's own ID.
*/
static inline ffa_vm_id_t hf_vm_get_id(void)