Go to the documentation of this file.
32 #define BITS_PER_BYTE 8
33 #define LOG_BITS_PER_BYTE 3
34 #define BYTE_MASK ((1U<<BITS_PER_BYTE)-1)
36 #if defined(__TMS320C55X__) || defined(_TMS320C5XX)
37 #define BITS_PER_AU 16
38 #define LOG_BITS_PER_AU 4
40 #define FMT_UI32 "0x%lx"
41 #define FMT8_UI32 "%08lx"
46 #define LOG_BITS_PER_AU 3
47 #define FMT_UI32 "0x%x"
48 #define FMT8_UI32 "%08x"
52 #define SWAP32BY16(zz) (((zz) << 16) | ((zz) >> 16))
53 #define SWAP16BY8(zz) (((zz) << 8) | ((zz) >> 8))
72 #define CINIT_ADDRESS 4
73 #define CINIT_PAGE_BITS 0
76 #define LENIENT_SIGNED_RELEXPS 0
78 #undef TARGET_ENDIANNESS
81 #define TARGET_WORD_ALIGN(zz) (((zz) + 0x3) & -0x4)
90 #ifndef TARGET_AU_BITS
91 #define TARGET_AU_BITS 8
92 #define LOG_TARGET_AU_BITS 3
95 #ifndef CINIT_DEFAULT_PAGE
96 #define CINIT_DEFAULT_PAGE 0
100 #define DATA_RUN2LOAD(zz) (zz)
103 #ifndef DBG_LIST_PAGE
104 #define DBG_LIST_PAGE 0
107 #ifndef TARGET_WORD_ALIGN
109 #define TARGET_WORD_ALIGN(zz) (zz)
112 #ifndef TDATA_TO_TADDR
113 #define TDATA_TO_TADDR(zz) (zz)
114 #define TADDR_TO_TDATA(zz) (zz)
115 #define TDATA_AU_BITS TARGET_AU_BITS
116 #define LOG_TDATA_AU_BITS LOG_TARGET_AU_BITS
128 #if LOG_BITS_PER_AU == LOG_TARGET_AU_BITS
130 #define TADDR_TO_HOST(x) (x)
132 #define HOST_TO_TADDR(x) (x)
133 #elif LOG_BITS_PER_AU > LOG_TARGET_AU_BITS
134 #define TADDR_TO_HOST(x) ((x) >> (LOG_BITS_PER_AU-LOG_TARGET_AU_BITS))
135 #define HOST_TO_TADDR(x) ((x) << (LOG_BITS_PER_AU-LOG_TARGET_AU_BITS))
137 #define TADDR_TO_HOST(x) ((x) << (LOG_TARGET_AU_BITS-LOG_BITS_PER_AU))
138 #define HOST_TO_TADDR(x) ((x) >> (LOG_TARGET_AU_BITS-LOG_BITS_PER_AU))
141 #if LOG_BITS_PER_AU == LOG_TDATA_AU_BITS
143 #define TDATA_TO_HOST(x) (x)
145 #define HOST_TO_TDATA(x) (x)
147 #define HOST_TO_TDATA_ROUND(x) (x)
149 #define BYTE_TO_HOST_TDATA_ROUND(x) BYTE_TO_HOST_ROUND(x)
150 #elif LOG_BITS_PER_AU > LOG_TDATA_AU_BITS
151 #define TDATA_TO_HOST(x) ((x) >> (LOG_BITS_PER_AU-LOG_TDATA_AU_BITS))
152 #define HOST_TO_TDATA(x) ((x) << (LOG_BITS_PER_AU-LOG_TDATA_AU_BITS))
153 #define HOST_TO_TDATA_ROUND(x) ((x) << (LOG_BITS_PER_AU-LOG_TDATA_AU_BITS))
154 #define BYTE_TO_HOST_TDATA_ROUND(x) BYTE_TO_HOST_ROUND(x)
156 #define TDATA_TO_HOST(x) ((x) << (LOG_TDATA_AU_BITS-LOG_BITS_PER_AU))
157 #define HOST_TO_TDATA(x) ((x) >> (LOG_TDATA_AU_BITS-LOG_BITS_PER_AU))
158 #define HOST_TO_TDATA_ROUND(x) (((x) +\
159 (1<<(LOG_TDATA_AU_BITS-LOG_BITS_PER_AU))-1) >>\
160 (LOG_TDATA_AU_BITS-LOG_BITS_PER_AU))
161 #define BYTE_TO_HOST_TDATA_ROUND(x) (BYTE_TO_HOST((x) +\
162 (1<<(LOG_TDATA_AU_BITS-LOG_BITS_PER_BYTE))-1) &\
163 -(TDATA_AU_BITS/BITS_PER_AU))
171 #if LOG_BITS_PER_AU == LOG_BITS_PER_BYTE
172 #define BYTE_TO_HOST(x) (x)
173 #define BYTE_TO_HOST_ROUND(x) (x)
174 #define HOST_TO_BYTE(x) (x)
175 #elif LOG_BITS_PER_AU >= LOG_BITS_PER_BYTE
176 #define BYTE_TO_HOST(x) ((x) >> (LOG_BITS_PER_AU - LOG_BITS_PER_BYTE))
177 #define BYTE_TO_HOST_ROUND(x) ((x + (BITS_PER_AU/BITS_PER_BYTE-1)) >>\
178 (LOG_BITS_PER_AU - LOG_BITS_PER_BYTE))
179 #define HOST_TO_BYTE(x) ((x) << (LOG_BITS_PER_AU - LOG_BITS_PER_BYTE))
184 #if LOG_TARGET_AU_BITS == LOG_BITS_PER_BYTE
186 #define TADDR_TO_BYTE(x) (x)
188 #define BYTE_TO_TADDR(x) (x)
189 #elif LOG_TARGET_AU_BITS > LOG_BITS_PER_BYTE
190 #define TADDR_TO_BYTE(x) ((x) << (LOG_TARGET_AU_BITS-LOG_BITS_PER_BYTE))
191 #define BYTE_TO_TADDR(x) ((x) >> (LOG_TARGET_AU_BITS-LOG_BITS_PER_BYTE))
197 #define HOST_ENDIANNESS 1
199 #define HOST_ENDIANNESS 0
202 #ifdef TARGET_ENDIANNESS
203 #define TARGET_ENDIANNESS_DIFFERS(rtend) (HOST_ENDIANNESS^TARGET_ENDIANNESS)
204 #elif HOST_ENDIANNESS
205 #define TARGET_ENDIANNESS_DIFFERS(rtend) (!(rtend))
207 #define TARGET_ENDIANNESS_DIFFERS(rtend) (rtend)
211 #if TARGET_AU_BITS <= 8
213 #elif TARGET_AU_BITS <= 16
220 #if TARGET_AU_BITS < BITS_PER_AU
221 #define TGTAU_BITS BITS_PER_AU
222 #define LOG_TGTAU_BITS LOG_BITS_PER_AU
224 #define TGTAU_BITS TARGET_AU_BITS
225 #define LOG_TGTAU_BITS LOG_TARGET_AU_BITS