dol: initial epiphany code generator (untested)
[jump.git] / dol / src / dol / visitor / epiphany / template / shared.h
1 /* shared.h
2  * NOTE: shared between Host and Epiphany */
3 #ifndef _SHARED_H_
4 #define _SHARED_H_
5
6 #ifndef PACKED
7 #define PACKED __attribute__((packed))
8 #endif
9
10 #include <stdint.h>
11
12 #define NUM_CORES       16
13 #define CORES_PER_ROW   4
14
15 typedef struct {
16         volatile uint32_t rp;
17         volatile uint32_t wp;
18         volatile uint32_t size;
19         char     buf[];
20 } PACKED hwbuf_t;
21 @@SHM_BUF_STRUCTS@@
22 typedef struct {
23         uint32_t counters[2];
24 } PACKED coredata_t;
25
26 typedef struct {
27         int32_t    states[NUM_CORES];
28         coredata_t cores[NUM_CORES];
29         buf0_t     buf0;
30         buf1_t     buf1;
31 } PACKED shm_t;
32
33 #endif /* _SHARED_H_ */