Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
mpipe_shm.h
Go to the documentation of this file.
1 /*
2  * Copyright 2012 Tilera Corporation. All Rights Reserved.
3  *
4  * This program is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU General Public License
6  * as published by the Free Software Foundation, version 2.
7  *
8  * This program is distributed in the hope that it will be useful, but
9  * WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or
11  * NON INFRINGEMENT. See the GNU General Public License for
12  * more details.
13  */
14 
15 /* Machine-generated file; do not edit. */
16 
17 
18 #ifndef __ARCH_MPIPE_SHM_H__
19 #define __ARCH_MPIPE_SHM_H__
20 
21 #include <arch/abi.h>
22 #include <arch/mpipe_shm_def.h>
23 
24 #ifndef __ASSEMBLER__
25 
32 __extension__
33 typedef union
34 {
35  struct
36  {
37  /* Word 0 */
38 
39 #ifndef __BIG_ENDIAN__
40 
59  uint_reg_t notif : 1;
65  uint_reg_t bound : 1;
77  uint_reg_t xfer_size : 14;
86  uint_reg_t csum_dest : 8;
93  uint_reg_t csum_start : 8;
101  uint_reg_t csum_seed : 16;
102 #else /* __BIG_ENDIAN__ */
103  uint_reg_t csum_seed : 16;
104  uint_reg_t csum_start : 8;
105  uint_reg_t csum_dest : 8;
106  uint_reg_t r2 : 2;
107  uint_reg_t xfer_size : 14;
108  uint_reg_t r1 : 4;
109  uint_reg_t bound : 1;
110  uint_reg_t notif : 1;
111  uint_reg_t ns : 1;
112  uint_reg_t csum : 1;
113  uint_reg_t r0 : 7;
114  uint_reg_t gen : 1;
115 #endif
116 
117  /* Word 1 */
118 
119 #ifndef __BIG_ENDIAN__
120 
121  int_reg_t va : 42;
123  uint_reg_t __reserved_0 : 6;
125  uint_reg_t stack_idx : 5;
134  uint_reg_t inst : 1;
142  uint_reg_t hwb : 1;
165 #else /* __BIG_ENDIAN__ */
166  uint_reg_t c : 2;
167  uint_reg_t size : 3;
168  uint_reg_t hwb : 1;
170  uint_reg_t inst : 1;
172  uint_reg_t stack_idx : 5;
173  uint_reg_t __reserved_0 : 6;
174  int_reg_t va : 42;
175 #endif
176 
177  };
178 
180  uint_reg_t words[2];
182 
190 __extension__
191 typedef union
192 {
193  struct
194  {
195  /* Word 0 */
196 
197 #ifndef __BIG_ENDIAN__
198 
203  uint_reg_t notif_ring : 8;
207  uint_reg_t __reserved_0 : 1;
214  uint_reg_t me : 1;
229  uint_reg_t l2_size : 14;
247  uint_reg_t bucket_id : 13;
276  uint_reg_t sq : 1;
298  uint_reg_t be : 1;
303  uint_reg_t ctr0 : 5;
306 #else /* __BIG_ENDIAN__ */
308  uint_reg_t ctr0 : 5;
309  uint_reg_t be : 1;
310  uint_reg_t ps : 1;
311  uint_reg_t ts : 1;
312  uint_reg_t sq : 1;
313  uint_reg_t dest : 2;
314  uint_reg_t nr : 1;
315  uint_reg_t cs : 1;
317  uint_reg_t bucket_id : 13;
318  uint_reg_t ct : 1;
319  uint_reg_t ce : 1;
320  uint_reg_t l2_size : 14;
321  uint_reg_t tr : 1;
322  uint_reg_t me : 1;
323  uint_reg_t __reserved_0 : 1;
324  uint_reg_t channel : 5;
325  uint_reg_t notif_ring : 8;
326 #endif
327 
328  /* Word 1 */
329 
330 #ifndef __BIG_ENDIAN__
331 
335  uint_reg_t ctr1 : 5;
342  uint_reg_t csum_start : 8;
355  uint_reg_t csum_seed_val : 16;
360  uint_reg_t custom0 : 32;
361 #else /* __BIG_ENDIAN__ */
362  uint_reg_t custom0 : 32;
363  uint_reg_t csum_seed_val : 16;
364  uint_reg_t csum_start : 8;
366  uint_reg_t ctr1 : 5;
367 #endif
368 
369  /* Word 2 */
370 
371 #ifndef __BIG_ENDIAN__
372 
376  uint_reg_t custom1 : 64;
377 #else /* __BIG_ENDIAN__ */
378  uint_reg_t custom1 : 64;
379 #endif
380 
381  /* Word 3 */
382 
383 #ifndef __BIG_ENDIAN__
384 
388  uint_reg_t custom2 : 64;
389 #else /* __BIG_ENDIAN__ */
390  uint_reg_t custom2 : 64;
391 #endif
392 
393  /* Word 4 */
394 
395 #ifndef __BIG_ENDIAN__
396 
400  uint_reg_t custom3 : 64;
401 #else /* __BIG_ENDIAN__ */
402  uint_reg_t custom3 : 64;
403 #endif
404 
405  /* Word 5 */
406 
407 #ifndef __BIG_ENDIAN__
408 
413  uint_reg_t gp_sqn : 16;
418  uint_reg_t packet_sqn : 48;
419 #else /* __BIG_ENDIAN__ */
420  uint_reg_t packet_sqn : 48;
421  uint_reg_t gp_sqn : 16;
422 #endif
423 
424  /* Word 6 */
425 
426 #ifndef __BIG_ENDIAN__
427 
431  uint_reg_t time_stamp_ns : 32;
436  uint_reg_t time_stamp_sec : 32;
437 #else /* __BIG_ENDIAN__ */
438  uint_reg_t time_stamp_sec : 32;
439  uint_reg_t time_stamp_ns : 32;
440 #endif
441 
442  /* Word 7 */
443 
444 #ifndef __BIG_ENDIAN__
445 
446  int_reg_t va : 42;
450  uint_reg_t stack_idx : 5;
452  uint_reg_t __reserved_5 : 3;
459  uint_reg_t inst : 1;
461  uint_reg_t __reserved_6 : 1;
467  uint_reg_t hwb : 1;
490 #else /* __BIG_ENDIAN__ */
491  uint_reg_t c : 2;
492  uint_reg_t size : 3;
493  uint_reg_t hwb : 1;
494  uint_reg_t __reserved_6 : 1;
495  uint_reg_t inst : 1;
496  uint_reg_t __reserved_5 : 3;
497  uint_reg_t stack_idx : 5;
499  int_reg_t va : 42;
500 #endif
501 
502  };
503 
505  uint_reg_t words[8];
506 } MPIPE_PDESC_t;
507 #endif /* !defined(__ASSEMBLER__) */
508 
509 #endif /* !defined(__ARCH_MPIPE_SHM_H__) */