| 1 | #define u8 unsigned char |
| 2 | #define u16 unsigned short |
| 3 | #define u32 unsigned int |
| 4 | |
| 5 | #define noinline __attribute__((noinline)) |
| 6 | #define unused __attribute__((unused)) |
| 7 | #define _packed __attribute__((packed)) |
| 8 | |
| 9 | #define mem_barrier() \ |
| 10 | asm volatile("":::"memory") |
| 11 | |
| 12 | #define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0])) |
| 13 | |
| 14 | #define MKLONG(a, b, c, d) (((a) << 24) | ((b) << 16) | ((c) << 8) | (d)) |
| 15 | |
| 16 | #define read8(a) \ |
| 17 | *((volatile u8 *) (a)) |
| 18 | #define read16(a) \ |
| 19 | *((volatile u16 *) (a)) |
| 20 | #define read32(a) \ |
| 21 | *((volatile u32 *) (a)) |
| 22 | #define write8(a, d) \ |
| 23 | *((volatile u8 *) (a)) = (d) |
| 24 | #define write16(a, d) \ |
| 25 | *((volatile u16 *) (a)) = (d) |
| 26 | #define write32(a, d) \ |
| 27 | *((volatile u32 *) (a)) = (d) |
| 28 | |
| 29 | enum x32x_cmd { |
| 30 | CMD_ECHO = 1, |
| 31 | CMD_READ_FRT = 2, // read Free-Running Timer |
| 32 | CMD_READ8 = 3, |
| 33 | CMD_READ16 = 4, |
| 34 | CMD_READ32 = 5, |
| 35 | CMD_WRITE8 = 6, |
| 36 | CMD_WRITE16 = 7, |
| 37 | CMD_WRITE32 = 8, |
| 38 | CMD_GETGBR = 9, |
| 39 | CMD_GETVBR = 10, |
| 40 | CMD_GETSR = 11, |
| 41 | CMD_SETSR = 12, |
| 42 | }; |
| 43 | |
| 44 | // vim:ts=4:sw=4:expandtab |