1 #define u8 unsigned char
2 #define u16 unsigned short
3 #define u32 unsigned int
5 #define noinline __attribute__((noinline))
6 #define unused __attribute__((unused))
7 #define _packed __attribute__((packed))
9 #define mem_barrier() \
10 asm volatile("":::"memory")
12 #define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0]))
14 #define MKLONG(a, b, c, d) (((a) << 24) | ((b) << 16) | ((c) << 8) | (d))
17 *((volatile u8 *) (a))
19 *((volatile u16 *) (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)
31 CMD_READ_FRT = 2, // read Free-Running Timer
40 // vim:ts=4:sw=4:expandtab