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 }