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/api.h b/inc/hf/api.h
index 4604123..e588575 100644
--- a/inc/hf/api.h
+++ b/inc/hf/api.h
@@ -32,8 +32,6 @@
struct vcpu **next);
int64_t api_vm_configure(ipaddr_t send, ipaddr_t recv, struct vcpu *current,
struct vcpu **next);
-int64_t api_mailbox_send(uint32_t vm_id, size_t size, bool notify,
- struct vcpu *current, struct vcpu **next);
struct hf_mailbox_receive_return api_mailbox_receive(bool block,
struct vcpu *current,
struct vcpu **next);
@@ -53,3 +51,6 @@
int64_t api_interrupt_inject(uint32_t target_vm_id, uint32_t target_vcpu_idx,
uint32_t intid, struct vcpu *current,
struct vcpu **next);
+
+int32_t api_spci_msg_send(uint32_t attributes, struct vcpu *current,
+ struct vcpu **next);