]> pd.if.org Git - liblfds/blob - liblfds/liblfds7.1.0/liblfds710/inc/liblfds710/lfds710_porting_abstraction_layer_processor.h
Initial import (all versions, including the new 7.1.0)
[liblfds] / liblfds / liblfds7.1.0 / liblfds710 / inc / liblfds710 / lfds710_porting_abstraction_layer_processor.h
1 /****************************************************************************/
2 #if( defined _MSC_VER && defined _M_IX86 )
3
4   #ifdef LFDS710_PAL_PROCESSOR
5     #error More than one porting abstraction layer matches the current platform in "lfds710_porting_abstraction_layer_processor.h".
6   #endif
7
8   #define LFDS710_PAL_PROCESSOR
9
10   typedef int long          lfds710_pal_int_t;
11   typedef int long unsigned lfds710_pal_uint_t;
12
13   #define LFDS710_PAL_PROCESSOR_STRING            "x86"
14
15   #define LFDS710_PAL_ALIGN_SINGLE_POINTER        4
16   #define LFDS710_PAL_ALIGN_DOUBLE_POINTER        8
17
18   #define LFDS710_PAL_ATOMIC_ISOLATION_IN_BYTES   32
19
20 #endif
21
22
23
24
25
26 /****************************************************************************/
27 #if( defined _MSC_VER && (defined _M_X64 || defined _M_AMD64) )
28
29   #ifdef LFDS710_PAL_PROCESSOR
30     #error More than one porting abstraction layer matches the current platform in "lfds710_porting_abstraction_layer_processor.h".
31   #endif
32
33   #define LFDS710_PAL_PROCESSOR
34
35   typedef int long long          lfds710_pal_int_t;
36   typedef int long long unsigned lfds710_pal_uint_t;
37
38   #define LFDS710_PAL_PROCESSOR_STRING            "x64"
39
40   #define LFDS710_PAL_ALIGN_SINGLE_POINTER        8
41   #define LFDS710_PAL_ALIGN_DOUBLE_POINTER        16
42
43   // TRD : Intel bring over two cache lines at once, always, unless disabled in BIOS
44   #define LFDS710_PAL_ATOMIC_ISOLATION_IN_BYTES   128
45
46 #endif
47
48
49
50
51
52 /****************************************************************************/
53 #if( defined _MSC_VER && defined _M_IA64 )
54
55   #ifdef LFDS710_PAL_PROCESSOR
56     #error More than one porting abstraction layer matches the current platform in "lfds710_porting_abstraction_layer_processor.h".
57   #endif
58
59   #define LFDS710_PAL_PROCESSOR
60
61   typedef int long long          lfds710_pal_int_t;
62   typedef int long long unsigned lfds710_pal_uint_t;
63
64   #define LFDS710_PAL_PROCESSOR_STRING            "IA64"
65
66   #define LFDS710_PAL_ALIGN_SINGLE_POINTER        8
67   #define LFDS710_PAL_ALIGN_DOUBLE_POINTER        16
68
69   #define LFDS710_PAL_ATOMIC_ISOLATION_IN_BYTES   64
70
71 #endif
72
73
74
75
76
77 /****************************************************************************/
78 #if( defined _MSC_VER && defined _M_ARM )
79
80   #ifdef LFDS710_PAL_PROCESSOR
81     #error More than one porting abstraction layer matches the current platform in "lfds710_porting_abstraction_layer_processor.h".
82   #endif
83
84   #define LFDS710_PAL_PROCESSOR
85
86   typedef int long          lfds710_pal_int_t;
87   typedef int long unsigned lfds710_pal_uint_t;
88
89   #define LFDS710_PAL_PROCESSOR_STRING            "ARM (32-bit)"
90
91   #define LFDS710_PAL_ALIGN_SINGLE_POINTER        4
92   #define LFDS710_PAL_ALIGN_DOUBLE_POINTER        8
93
94   /* TRD : ARM is LL/SC and uses a reservation granule of 8 to 2048 bytes
95            so the isolation value used here is worst-case - be sure to set
96            this correctly, otherwise structures are painfully large
97
98            the test application has an argument, "-e", which attempts to
99            determine the ERG length
100   */
101
102   #define LFDS710_PAL_ATOMIC_ISOLATION_IN_BYTES   2048
103
104 #endif
105   
106   
107   
108   
109   
110 /****************************************************************************/
111 #if( defined __GNUC__ && defined __arm__ )
112
113   #ifdef LFDS710_PAL_PROCESSOR
114     #error More than one porting abstraction layer matches the current platform in "lfds710_porting_abstraction_layer_processor.h".
115   #endif
116
117   #define LFDS710_PAL_PROCESSOR
118
119   typedef int long          lfds710_pal_int_t;
120   typedef int long unsigned lfds710_pal_uint_t;
121
122   #define LFDS710_PAL_PROCESSOR_STRING            "ARM (32-bit)"
123
124   #define LFDS710_PAL_ALIGN_SINGLE_POINTER        4
125   #define LFDS710_PAL_ALIGN_DOUBLE_POINTER        8
126
127   /* TRD : ARM is LL/SC and uses a reservation granule of 8 to 2048 bytes
128            so the isolation value used here is worst-case - be sure to set
129            this correctly, otherwise structures are painfully large
130
131            the test application has an argument, "-e", which attempts to
132            determine the ERG length
133   */
134
135   #define LFDS710_PAL_ATOMIC_ISOLATION_IN_BYTES   2048
136
137 #endif
138
139
140
141
142
143 /****************************************************************************/
144 #if( defined __GNUC__ && defined __aarch64__ )
145
146   #ifdef LFDS710_PAL_PROCESSOR
147     #error More than one porting abstraction layer matches the current platform in "lfds710_porting_abstraction_layer_processor.h".
148   #endif
149
150   #define LFDS710_PAL_PROCESSOR
151
152   typedef int long long          lfds710_pal_int_t;
153   typedef int long long unsigned lfds710_pal_uint_t;
154
155   #define LFDS710_PAL_PROCESSOR_STRING            "ARM (64-bit)"
156
157   #define LFDS710_PAL_ALIGN_SINGLE_POINTER        8
158   #define LFDS710_PAL_ALIGN_DOUBLE_POINTER        16
159
160   /* TRD : ARM is LL/SC and uses a reservation granule of 8 to 2048 bytes
161            so the isolation value used here is worst-case - be sure to set
162            this correctly, otherwise structures are painfully large
163
164            the test application has an argument, "-e", which attempts to
165            determine the ERG length
166   */
167
168   #define LFDS710_PAL_ATOMIC_ISOLATION_IN_BYTES   2048
169
170 #endif
171
172
173
174
175
176 /****************************************************************************/
177 #if( defined __GNUC__ && (defined __i686__ || defined __i586__ || defined __i486__) )
178
179   #ifdef LFDS710_PAL_PROCESSOR
180     #error More than one porting abstraction layer matches the current platform in "lfds710_porting_abstraction_layer_processor.h".
181   #endif
182
183   #define LFDS710_PAL_PROCESSOR
184
185   typedef int long          lfds710_pal_int_t;
186   typedef int long unsigned lfds710_pal_uint_t;
187
188   #define LFDS710_PAL_PROCESSOR_STRING            "x86"
189
190   #define LFDS710_PAL_ALIGN_SINGLE_POINTER        4
191   #define LFDS710_PAL_ALIGN_DOUBLE_POINTER        8
192
193   #define LFDS710_PAL_ATOMIC_ISOLATION_IN_BYTES   32
194
195 #endif
196
197
198
199
200
201 /****************************************************************************/
202 #if( defined __GNUC__ && defined __x86_64__ )
203
204   #ifdef LFDS710_PAL_PROCESSOR
205     #error More than one porting abstraction layer matches the current platform in "lfds710_porting_abstraction_layer_processor.h".
206   #endif
207
208   #define LFDS710_PAL_PROCESSOR
209
210   typedef int long long          lfds710_pal_int_t;
211   typedef int long long unsigned lfds710_pal_uint_t;
212
213   #define LFDS710_PAL_PROCESSOR_STRING            "x64"
214
215   #define LFDS710_PAL_ALIGN_SINGLE_POINTER        8
216   #define LFDS710_PAL_ALIGN_DOUBLE_POINTER        16
217
218   #define LFDS710_PAL_ATOMIC_ISOLATION_IN_BYTES   128
219
220 #endif
221
222
223
224
225
226 /****************************************************************************/
227 #if( defined __GNUC__ && defined __alpha__ )
228
229   #ifdef LFDS710_PAL_PROCESSOR
230     #error More than one porting abstraction layer matches the current platform in "lfds710_porting_abstraction_layer_processor.h".
231   #endif
232
233   #define LFDS710_PAL_PROCESSOR
234
235   typedef int long          lfds710_pal_int_t;
236   typedef int long unsigned lfds710_pal_uint_t;
237
238   #define LFDS710_PAL_PROCESSOR_STRING            "alpha"
239
240   #define LFDS710_PAL_ALIGN_SINGLE_POINTER        8
241   #define LFDS710_PAL_ALIGN_DOUBLE_POINTER        16
242
243   #define LFDS710_PAL_ATOMIC_ISOLATION_IN_BYTES   64
244
245 #endif
246
247
248
249
250
251 /****************************************************************************/
252 #if( defined __GNUC__ && defined __ia64__ )
253
254   #ifdef LFDS710_PAL_PROCESSOR
255     #error More than one porting abstraction layer matches the current platform in "lfds710_porting_abstraction_layer_processor.h".
256   #endif
257
258   #define LFDS710_PAL_PROCESSOR
259
260   typedef int long long          lfds710_pal_int_t;
261   typedef int long long unsigned lfds710_pal_uint_t;
262
263   #define LFDS710_PAL_PROCESSOR_STRING            "IA64"
264
265   #define LFDS710_PAL_ALIGN_SINGLE_POINTER        8
266   #define LFDS710_PAL_ALIGN_DOUBLE_POINTER        16
267
268   #define LFDS710_PAL_ATOMIC_ISOLATION_IN_BYTES   64
269
270 #endif
271
272
273
274
275
276 /****************************************************************************/
277 #if( defined __GNUC__ && defined __mips__ )
278
279   #ifdef LFDS710_PAL_PROCESSOR
280     #error More than one porting abstraction layer matches the current platform in "lfds710_porting_abstraction_layer_processor.h".
281   #endif
282
283   #define LFDS710_PAL_PROCESSOR
284
285   typedef int long          lfds710_pal_int_t;
286   typedef int long unsigned lfds710_pal_uint_t;
287
288   #define LFDS710_PAL_PROCESSOR_STRING            "MIPS (32-bit)"
289
290   #define LFDS710_PAL_ALIGN_SINGLE_POINTER        4
291   #define LFDS710_PAL_ALIGN_DOUBLE_POINTER        8
292
293   #define LFDS710_PAL_ATOMIC_ISOLATION_IN_BYTES   32
294
295 #endif
296
297
298
299
300
301 /****************************************************************************/
302 #if( defined __GNUC__ && defined __mips64 )
303
304   #ifdef LFDS710_PAL_PROCESSOR
305     #error More than one porting abstraction layer matches the current platform in "lfds710_porting_abstraction_layer_processor.h".
306   #endif
307
308   #define LFDS710_PAL_PROCESSOR
309
310   typedef int long long          lfds710_pal_int_t;
311   typedef int long long unsigned lfds710_pal_uint_t;
312
313   #define LFDS710_PAL_PROCESSOR_STRING            "MIPS (64-bit)"
314
315   #define LFDS710_PAL_ALIGN_SINGLE_POINTER        8
316   #define LFDS710_PAL_ALIGN_DOUBLE_POINTER        16
317
318   #define LFDS710_PAL_ATOMIC_ISOLATION_IN_BYTES   64
319
320 #endif
321
322
323
324
325
326 /****************************************************************************/
327 #if( defined __GNUC__ && defined __ppc__ )
328
329   #ifdef LFDS710_PAL_PROCESSOR
330     #error More than one porting abstraction layer matches the current platform in "lfds710_porting_abstraction_layer_processor.h".
331   #endif
332
333   #define LFDS710_PAL_PROCESSOR
334
335   typedef int long          lfds710_pal_int_t;
336   typedef int long unsigned lfds710_pal_uint_t;
337
338   #define LFDS710_PAL_PROCESSOR_STRING            "POWERPC (32-bit)"
339
340   #define LFDS710_PAL_ALIGN_SINGLE_POINTER        4
341   #define LFDS710_PAL_ALIGN_DOUBLE_POINTER        8
342
343   // TRD : this value is not very certain
344   #define LFDS710_PAL_ATOMIC_ISOLATION_IN_BYTES   128
345
346 #endif
347
348
349
350
351
352 /****************************************************************************/
353 #if( defined __GNUC__ && defined __ppc64__ )
354
355   #ifdef LFDS710_PAL_PROCESSOR
356     #error More than one porting abstraction layer matches the current platform in "lfds710_porting_abstraction_layer_processor.h".
357   #endif
358
359   #define LFDS710_PAL_PROCESSOR
360
361   typedef int long long          lfds710_pal_int_t;
362   typedef int long long unsigned lfds710_pal_uint_t;
363
364   #define LFDS710_PAL_PROCESSOR_STRING            "POWERPC (64-bit)"
365
366   #define LFDS710_PAL_ALIGN_SINGLE_POINTER        8
367   #define LFDS710_PAL_ALIGN_DOUBLE_POINTER        16
368
369   // TRD : this value is not very certain
370   #define LFDS710_PAL_ATOMIC_ISOLATION_IN_BYTES   128
371
372 #endif
373
374
375
376
377
378 /****************************************************************************/
379 #if( defined __GNUC__ && defined __sparc__ && !defined __sparc_v9__ )
380
381   #ifdef LFDS710_PAL_PROCESSOR
382     #error More than one porting abstraction layer matches the current platform in "lfds710_porting_abstraction_layer_processor.h".
383   #endif
384
385   #define LFDS710_PAL_PROCESSOR
386
387   typedef int long          lfds710_pal_int_t;
388   typedef int long unsigned lfds710_pal_uint_t;
389
390   #define LFDS710_PAL_PROCESSOR_STRING            "SPARC (32-bit)"
391
392   #define LFDS710_PAL_ALIGN_SINGLE_POINTER        4
393   #define LFDS710_PAL_ALIGN_DOUBLE_POINTER        8
394
395   #define LFDS710_PAL_ATOMIC_ISOLATION_IN_BYTES   32
396
397 #endif
398
399
400
401
402
403 /****************************************************************************/
404 #if( defined __GNUC__ && defined __sparc__ && defined __sparc_v9__ )
405
406   #ifdef LFDS710_PAL_PROCESSOR
407     #error More than one porting abstraction layer matches the current platform in "lfds710_porting_abstraction_layer_processor.h".
408   #endif
409
410   #define LFDS710_PAL_PROCESSOR
411
412   typedef int long long          lfds710_pal_int_t;
413   typedef int long long unsigned lfds710_pal_uint_t;
414
415   #define LFDS710_PAL_PROCESSOR_STRING            "SPARC (64-bit)"
416
417   #define LFDS710_PAL_ALIGN_SINGLE_POINTER        8
418   #define LFDS710_PAL_ALIGN_DOUBLE_POINTER        16
419
420   #define LFDS710_PAL_ATOMIC_ISOLATION_IN_BYTES   64
421
422 #endif
423
424
425
426
427
428 /****************************************************************************/
429 #if( defined __GNUC__ && defined __m68k__ )
430
431   #ifdef LFDS710_PAL_PROCESSOR
432     #error More than one porting abstraction layer matches the current platform in "lfds710_porting_abstraction_layer_processor.h".
433   #endif
434
435   #define LFDS710_PAL_PROCESSOR
436
437   typedef int long          lfds710_pal_int_t;
438   typedef int long unsigned lfds710_pal_uint_t;
439
440   #define LFDS710_PAL_PROCESSOR_STRING            "680x0"
441
442   #define LFDS710_PAL_ALIGN_SINGLE_POINTER        4
443   #define LFDS710_PAL_ALIGN_DOUBLE_POINTER        8
444
445   #define LFDS710_PAL_ATOMIC_ISOLATION_IN_BYTES   32
446
447 #endif
448
449
450
451
452
453 /****************************************************************************/
454 #if( !defined LFDS710_PAL_PROCESSOR )
455
456   #error No matching porting abstraction layer in "lfds710_porting_abstraction_layer_processor.h".
457
458 #endif
459