~ubuntu-branches/ubuntu/trusty/gnuradio/trusty-updates

« back to all changes in this revision

Viewing changes to gcell/ibm/sync/ppu_source/sync_utils.h

  • Committer: Package Import Robot
  • Author(s): A. Maitland Bottoms
  • Date: 2012-02-26 21:26:16 UTC
  • mfrom: (1.1.4)
  • Revision ID: package-import@ubuntu.com-20120226212616-vsfkbi1158xshdql
Tags: 3.5.1-1
* new upstream version, re-packaged from scratch with modern tools
    closes: #642716, #645332, #394849, #616832, #590048, #642580,
    #647018, #557050, #559640, #631863
* CMake build

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* --------------------------------------------------------------  */
2
 
/* (C)Copyright 2001,2007,                                         */
3
 
/* International Business Machines Corporation,                    */
4
 
/* Sony Computer Entertainment, Incorporated,                      */
5
 
/* Toshiba Corporation,                                            */
6
 
/*                                                                 */
7
 
/* All Rights Reserved.                                            */
8
 
/*                                                                 */
9
 
/* Redistribution and use in source and binary forms, with or      */
10
 
/* without modification, are permitted provided that the           */
11
 
/* following conditions are met:                                   */
12
 
/*                                                                 */
13
 
/* - Redistributions of source code must retain the above copyright*/
14
 
/*   notice, this list of conditions and the following disclaimer. */
15
 
/*                                                                 */
16
 
/* - Redistributions in binary form must reproduce the above       */
17
 
/*   copyright notice, this list of conditions and the following   */
18
 
/*   disclaimer in the documentation and/or other materials        */
19
 
/*   provided with the distribution.                               */
20
 
/*                                                                 */
21
 
/* - Neither the name of IBM Corporation nor the names of its      */
22
 
/*   contributors may be used to endorse or promote products       */
23
 
/*   derived from this software without specific prior written     */
24
 
/*   permission.                                                   */
25
 
/*                                                                 */
26
 
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND          */
27
 
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,     */
28
 
/* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF        */
29
 
/* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE        */
30
 
/* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR            */
31
 
/* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,    */
32
 
/* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT    */
33
 
/* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;    */
34
 
/* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)        */
35
 
/* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN       */
36
 
/* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR    */
37
 
/* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,  */
38
 
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.              */
39
 
/* --------------------------------------------------------------  */
40
 
/* PROLOG END TAG zYx                                              */
41
 
#ifndef _PPU_SYNC_UTILS_H_
42
 
#define _PPU_SYNC_UTILS_H_      1
43
 
 
44
 
/* SYNC_ULL_TO_PTR - convert a 64-bit unsigned long long to a void 
45
 
 *                   pointer.
46
 
 */
47
 
#ifdef __powerpc64__
48
 
 
49
 
#define SYNC_ULL_TO_PTR(_ull, _ptr) {           \
50
 
  union {                                       \
51
 
    void *ptr;                                  \
52
 
    unsigned long long ull;                     \
53
 
  } _x;                                         \
54
 
                                                \
55
 
  _x.ull = _ull;                                \
56
 
  _ptr = _x.ptr;                                \
57
 
}
58
 
 
59
 
#else
60
 
 
61
 
#define SYNC_ULL_TO_PTR(_ull, _ptr) {           \
62
 
  union {                                       \
63
 
    void *ptr[2];                               \
64
 
    unsigned long long ull;                     \
65
 
  } _x;                                         \
66
 
                                                \
67
 
  _x.ull = _ull;                                \
68
 
  _ptr = _x.ptr[1];                             \
69
 
}
70
 
 
71
 
#endif
72
 
 
73
 
#endif /* _PPU_SYNC_UTILS_H_ */