Home | History | Annotate | Download | only in Include
      1 /**
      2 
      3 Copyright (c)  1999  - 2014, Intel Corporation. All rights reserved
      4 
      5   This program and the accompanying materials are licensed and made available under
      7   the terms and conditions of the BSD License that accompanies this distribution.
      9   The full text of the license may be found at
     11   http://opensource.org/licenses/bsd-license.php.
     13 
     15   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     17   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     19 
     21 
     23 @file
     24   CommonIncludes.h
     25 
     26 @brief
     27   This file defines common equates.
     28 
     29 **/
     30 #ifndef _COMMON_INCLUDES_H_
     31 #define _COMMON_INCLUDES_H_
     32 
     33 #define V_INTEL_VID 0x8086
     34 
     35 #ifndef STALL_ONE_MICRO_SECOND
     36 #define STALL_ONE_MICRO_SECOND  1
     37 #endif
     38 #ifndef STALL_ONE_MILLI_SECOND
     39 #define STALL_ONE_MILLI_SECOND  1000
     40 #endif
     41 ///
     42 /// Min Max
     43 ///
     44 #define V_MIN(a, b) (((a) < (b)) ? (a) : (b))
     45 #define V_MAX(a, b) (((a) > (b)) ? (a) : (b))
     46 
     47 ///
     48 /// Bit map macro
     49 ///
     50 #ifndef BIT0
     51 
     52 #define BIT63 0x8000000000000000
     53 #define BIT62 0x4000000000000000
     54 #define BIT61 0x2000000000000000
     55 #define BIT60 0x1000000000000000
     56 #define BIT59 0x0800000000000000
     57 #define BIT58 0x0400000000000000
     58 #define BIT57 0x0200000000000000
     59 #define BIT56 0x0100000000000000
     60 #define BIT55 0x0080000000000000
     61 #define BIT54 0x0040000000000000
     62 #define BIT53 0x0020000000000000
     63 #define BIT52 0x0010000000000000
     64 #define BIT51 0x0008000000000000
     65 #define BIT50 0x0004000000000000
     66 #define BIT49 0x0002000000000000
     67 #define BIT48 0x0001000000000000
     68 #define BIT47 0x0000800000000000
     69 #define BIT46 0x0000400000000000
     70 #define BIT45 0x0000200000000000
     71 #define BIT44 0x0000100000000000
     72 #define BIT43 0x0000080000000000
     73 #define BIT42 0x0000040000000000
     74 #define BIT41 0x0000020000000000
     75 #define BIT40 0x0000010000000000
     76 #define BIT39 0x0000008000000000
     77 #define BIT38 0x0000004000000000
     78 #define BIT37 0x0000002000000000
     79 #define BIT36 0x0000001000000000
     80 #define BIT35 0x0000000800000000
     81 #define BIT34 0x0000000400000000
     82 #define BIT33 0x0000000200000000
     83 #define BIT32 0x0000000100000000
     84 
     85 #define BIT31 0x80000000
     86 #define BIT30 0x40000000
     87 #define BIT29 0x20000000
     88 #define BIT28 0x10000000
     89 #define BIT27 0x08000000
     90 #define BIT26 0x04000000
     91 #define BIT25 0x02000000
     92 #define BIT24 0x01000000
     93 #define BIT23 0x00800000
     94 #define BIT22 0x00400000
     95 #define BIT21 0x00200000
     96 #define BIT20 0x00100000
     97 #define BIT19 0x00080000
     98 #define BIT18 0x00040000
     99 #define BIT17 0x00020000
    100 #define BIT16 0x00010000
    101 #define BIT15 0x00008000
    102 #define BIT14 0x00004000
    103 #define BIT13 0x00002000
    104 #define BIT12 0x00001000
    105 #define BIT11 0x00000800
    106 #define BIT10 0x00000400
    107 #define BIT9  0x00000200
    108 #define BIT8  0x00000100
    109 #define BIT7  0x00000080
    110 #define BIT6  0x00000040
    111 #define BIT5  0x00000020
    112 #define BIT4  0x00000010
    113 #define BIT3  0x00000008
    114 #define BIT2  0x00000004
    115 #define BIT1  0x00000002
    116 #define BIT0  0x00000001
    117 #endif
    118 
    119 #define BITS(x) (1 << (x))
    120 
    121 //
    122 // Notes :
    123 // 1.  Bit position always starts at 0.
    124 // 2.  Following macros are applicable only for Word alligned integers.
    125 //
    126 #define BIT(Pos, Value)               (1 << (Pos) & (Value))
    127 #define BITRANGE(From, Width, Value)  (((Value) >> (From)) & ((1 << (Width)) - 1))
    128 
    129 #endif
    130