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