Improve mailbox message handling

Introduce a 32b magic for each message. Verify the magic for
all incoming messages.

Add reset function - in case of protocol error, effectively
reset/empty the incoming queue.

Add an error message type and message

Add version request/response

Verify payload length of responses (when applicable)

Change-Id: I8aadd4012024492533d52e2cdb38630fce5c36e2
diff --git a/kernel/uapi/ethosu.h b/kernel/uapi/ethosu.h
index 8f870c9..0127033 100644
--- a/kernel/uapi/ethosu.h
+++ b/kernel/uapi/ethosu.h
@@ -39,6 +39,7 @@
 #define ETHOSU_IOWR(nr, type)           _IOWR(ETHOSU_IOCTL_BASE, nr, type)
 
 #define ETHOSU_IOCTL_PING               ETHOSU_IO(0x00)
+#define ETHOSU_IOCTL_VERSION_REQ        ETHOSU_IO(0x01)
 #define ETHOSU_IOCTL_BUFFER_CREATE      ETHOSU_IOR(0x10, \
 						   struct ethosu_uapi_buffer_create)
 #define ETHOSU_IOCTL_BUFFER_SET         ETHOSU_IOR(0x11, \