more 32x tests
[megadrive.git] / testpico / common.h
CommitLineData
9d39a80e 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
29enum x32x_cmd {
30 CMD_ECHO = 1,
71b41fdd 31 CMD_READ_FRT = 2, // read Free-Running Timer
06d7984c 32 CMD_READ8 = 3,
33 CMD_READ16 = 4,
34 CMD_READ32 = 5,
35 CMD_WRITE8 = 6,
36 CMD_WRITE16 = 7,
37 CMD_WRITE32 = 8,
9d39a80e 38};
39
40// vim:ts=4:sw=4:expandtab