SPCI: Introduce SPCI_MSG_SEND.
Morph the vmapi service HF_MAILBOX_SEND onto SPCI_MSG_SEND.
The current SPCI_MSG_SEND only allows for implementation defined
messages to be exchanged between VMs.
The new SPCI service returns SPCI_SUCCESS if message is delivered or one
of the following error codes:
SPCI_INVALID_PARAMETER: one of the parameters in the header does
not conform;
SPCI_BUSY: the mailbox was full or the target VM does not exist.
Adapted the tests to this new service.
Added tests specific to spci_message_init and spci_msg_send.
Change-Id: I55adfe68502ddc7bf864432f3e567b6cfe785f92
diff --git a/inc/hf/vm.h b/inc/hf/vm.h
index b3b7492..069a265 100644
--- a/inc/hf/vm.h
+++ b/inc/hf/vm.h
@@ -22,6 +22,7 @@
#include "hf/list.h"
#include "hf/mm.h"
#include "hf/mpool.h"
+#include "hf/spci.h"
enum mailbox_state {
/** There is no message in the mailbox. */
@@ -55,8 +56,8 @@
enum mailbox_state state;
uint32_t recv_from_id;
int16_t recv_bytes;
- void *recv;
- const void *send;
+ struct spci_message *recv;
+ const struct spci_message *send;
/**
* List of wait_entry structs representing VMs that want to be notified