Mercurial > projects > dstress
comparison addon/cpuinfo.d @ 1279:23fe17e22a63
partial review
author | thomask |
---|---|
date | Mon, 25 Dec 2006 15:07:48 +0000 |
parents | 516e1eeceb04 |
children |
comparison
equal
deleted
inserted
replaced
1278:b644bef333ff | 1279:23fe17e22a63 |
---|---|
33 uint a = 0; | 33 uint a = 0; |
34 | 34 |
35 version(haveX86InlineAsm){ | 35 version(haveX86InlineAsm){ |
36 asm{ | 36 asm{ |
37 mov EAX, 0x8000_0001; | 37 mov EAX, 0x8000_0001; |
38 cpuid; | 38 db 0x53; |
39 cpuid; | |
40 db 0x5B; | |
39 mov a, EDX; | 41 mov a, EDX; |
40 } | 42 } |
41 }else{ | 43 }else{ |
42 pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); | 44 pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); |
43 } | 45 } |
53 uint a = 0; | 55 uint a = 0; |
54 | 56 |
55 version(haveX86InlineAsm){ | 57 version(haveX86InlineAsm){ |
56 asm{ | 58 asm{ |
57 mov EAX, 1; | 59 mov EAX, 1; |
58 cpuid; | 60 db 0x53; |
61 cpuid; | |
62 db 0x5B; | |
59 mov a, EDX; | 63 mov a, EDX; |
60 } | 64 } |
61 }else{ | 65 }else{ |
62 pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); | 66 pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); |
63 } | 67 } |
72 uint a = 0; | 76 uint a = 0; |
73 | 77 |
74 version(haveX86InlineAsm){ | 78 version(haveX86InlineAsm){ |
75 asm{ | 79 asm{ |
76 mov EAX, 1; | 80 mov EAX, 1; |
81 db 0x53; | |
77 cpuid; | 82 cpuid; |
83 db 0x5B; | |
78 mov a, EDX; | 84 mov a, EDX; |
79 } | 85 } |
80 } | 86 } |
81 | 87 |
82 if(!((a >> 8) & 1)){ | 88 if(!((a >> 8) & 1)){ |
89 uint a = 0; | 95 uint a = 0; |
90 | 96 |
91 version(haveX86InlineAsm){ | 97 version(haveX86InlineAsm){ |
92 asm{ | 98 asm{ |
93 mov EAX, 1; | 99 mov EAX, 1; |
94 cpuid; | 100 db 0x53; |
101 cpuid; | |
102 db 0x5B; | |
95 mov a, EDX; | 103 mov a, EDX; |
96 } | 104 } |
97 }else{ | 105 }else{ |
98 pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); | 106 pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); |
99 } | 107 } |
109 uint a = 0; | 117 uint a = 0; |
110 | 118 |
111 version(haveX86InlineAsm){ | 119 version(haveX86InlineAsm){ |
112 asm{ | 120 asm{ |
113 mov EAX, 1; | 121 mov EAX, 1; |
114 cpuid; | 122 db 0x53; |
123 cpuid; | |
124 db 0x5B; | |
115 mov a, EDX; | 125 mov a, EDX; |
116 } | 126 } |
117 }else{ | 127 }else{ |
118 pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); | 128 pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); |
119 } | 129 } |
129 uint a = 0; | 139 uint a = 0; |
130 | 140 |
131 version(haveX86InlineAsm){ | 141 version(haveX86InlineAsm){ |
132 asm{ | 142 asm{ |
133 mov EAX, 1; | 143 mov EAX, 1; |
134 cpuid; | 144 db 0x53; |
145 cpuid; | |
146 db 0x5B; | |
135 mov a, EDX; | 147 mov a, EDX; |
136 } | 148 } |
137 }else{ | 149 }else{ |
138 pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); | 150 pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); |
139 } | 151 } |
149 uint a = 0; | 161 uint a = 0; |
150 | 162 |
151 version(haveX86InlineAsm){ | 163 version(haveX86InlineAsm){ |
152 asm{ | 164 asm{ |
153 mov EAX, 1; | 165 mov EAX, 1; |
154 cpuid; | 166 db 0x53; |
167 cpuid; | |
168 db 0x5B; | |
155 mov a, EDX; | 169 mov a, EDX; |
156 } | 170 } |
157 }else{ | 171 }else{ |
158 pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); | 172 pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); |
159 } | 173 } |
170 uint b = 0; | 184 uint b = 0; |
171 | 185 |
172 version(haveX86InlineAsm){ | 186 version(haveX86InlineAsm){ |
173 asm{ | 187 asm{ |
174 mov EAX, a; | 188 mov EAX, a; |
175 cpuid; | 189 db 0x53; |
190 cpuid; | |
191 db 0x5B; | |
176 mov b, ECX; | 192 mov b, ECX; |
177 } | 193 } |
178 }else{ | 194 }else{ |
179 pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); | 195 pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); |
180 } | 196 } |