--- /dev/null
+/* shared.h
+ * NOTE: shared between Host and Epiphany */
+#ifndef _SHARED_H_
+#define _SHARED_H_
+
+#ifndef PACKED
+#define PACKED __attribute__((packed))
+#endif
+
+#include <stdint.h>
+
+#define NUM_CORES 16
+
+typedef struct {
+ volatile uint32_t rp;
+ volatile uint32_t wp;
+ volatile uint32_t size;
+ char buf[];
+} PACKED hwbuf_t;
+
+typedef struct {
+ uint32_t rp;
+ uint32_t wp;
+ uint32_t size;
+ char buf[8];
+} PACKED buf0_t;
+
+typedef struct {
+ uint32_t rp;
+ uint32_t wp;
+ uint32_t size;
+ char buf[32];
+} PACKED buf1_t;
+
+typedef struct {
+ uint32_t counters[2];
+} PACKED coredata_t;
+
+typedef struct {
+ int32_t states[NUM_CORES];
+ coredata_t cores[NUM_CORES];
+ buf0_t buf0;
+ buf1_t buf1;
+} PACKED shm_t;
+
+#endif /* _SHARED_H_ */