46
|
1 #ifndef INCLUDED_TYPES
|
|
2 #define INCLUDED_TYPES
|
|
3
|
109
|
4 #include <stdint.h>
|
|
5
|
|
6 typedef uint32_t uint32;
|
|
7 typedef uint64_t uint64;
|
364
|
8 #ifdef SPU
|
365
|
9 typedef uint64_t memaddr;
|
364
|
10 #else
|
|
11 #if (sizeof (void*) == 8)
|
365
|
12 typedef uint64_t memaddr;
|
364
|
13 #else
|
365
|
14 typedef uint32_t memaddr;
|
364
|
15 #endif
|
|
16 #endif
|
46
|
17
|
|
18 #define SPE_ALIGNMENT 16
|
|
19 #define SPE_ALIGNMENT_FULL 128
|
|
20 #define SPE_ALIGN __attribute__((aligned(SPE_ALIGNMENT)))
|
|
21 #define SPE_ALIGN_FULL __attribute__((aligned(SPE_ALIGNMENT_FULL))
|
|
22 #define ROUND_UP_ALIGN(value, alignment) \
|
|
23 (((value) + ((alignment) - 1))&(~((alignment)-1)))
|
|
24 #define DEFAULT_ALIGNMENT SPE_ALIGNMENT
|
109
|
25 //#define DEFAULT_ALIGNMENT SPE_ALIGNMENT_FULL
|
46
|
26
|
58
|
27 #define DMA_MAX_SIZE 16384
|
|
28
|
88
|
29 #define round_up16(value) ROUND_UP_ALIGN(value, 16)
|
|
30 #define round_up128(value) ROUND_UP_ALIGN(value, 128)
|
|
31
|
298
|
32 // ここも typedef しとくか?
|
46
|
33 enum {
|
298
|
34 // どの方向かで enum 分けるだろjk...
|
109
|
35 // PPE -> SPE
|
|
36 MY_SPE_NOP = 0,
|
46
|
37 MY_SPE_COMMAND_EXIT,
|
|
38 MY_SPE_COMMAND_GO,
|
|
39
|
109
|
40 // SPE -> PPE
|
46
|
41 MY_SPE_STATUS_BUSY,
|
109
|
42 MY_SPE_STATUS_READY,
|
|
43 MY_SPE_COMMAND_MALLOC,
|
46
|
44 };
|
|
45
|
109
|
46 #define MAX_USE_SPE_NUM 6
|
|
47
|
65
|
48 typedef enum {
|
109
|
49 CPU_PPE = 0, // default
|
|
50 CPU_SPE = 1,
|
|
51 SPE_ANY = CPU_SPE,
|
|
52 SPE_0 = 2,
|
|
53 SPE_1 = 3,
|
|
54 SPE_2 = 4,
|
|
55 SPE_3 = 5,
|
|
56 SPE_4 = 6,
|
|
57 SPE_5 = 7,
|
65
|
58 } CPU_TYPE;
|
|
59
|
46
|
60 #endif
|