Revision 8560efed target-i386/cpuid.c
b/target-i386/cpuid.c | ||
---|---|---|
235 | 235 |
CPUID_MTRR | CPUID_PGE | CPUID_MCA | CPUID_CMOV | CPUID_PAT | \ |
236 | 236 |
CPUID_PSE36 | CPUID_CLFLUSH | CPUID_ACPI | CPUID_MMX | \ |
237 | 237 |
CPUID_FXSR | CPUID_SSE | CPUID_SSE2 | CPUID_SS) |
238 |
/* partly implemented: |
|
239 |
CPUID_MTRR, CPUID_MCA, CPUID_CLFLUSH (needed for Win64) |
|
240 |
CPUID_PSE36 (needed for Solaris) */ |
|
241 |
/* missing: |
|
242 |
CPUID_VME, CPUID_DTS, CPUID_SS, CPUID_HT, CPUID_TM, CPUID_PBE */ |
|
238 | 243 |
#define TCG_EXT_FEATURES (CPUID_EXT_SSE3 | CPUID_EXT_MONITOR | \ |
239 | 244 |
CPUID_EXT_CX16 | CPUID_EXT_POPCNT | CPUID_EXT_XSAVE | \ |
240 | 245 |
CPUID_EXT_HYPERVISOR) |
246 |
/* missing: |
|
247 |
CPUID_EXT_DTES64, CPUID_EXT_DSCPL, CPUID_EXT_VMX, CPUID_EXT_EST, |
|
248 |
CPUID_EXT_TM2, CPUID_EXT_XTPR, CPUID_EXT_PDCM */ |
|
241 | 249 |
#define TCG_EXT2_FEATURES ((TCG_FEATURES & EXT2_FEATURE_MASK) | \ |
242 | 250 |
CPUID_EXT2_NX | CPUID_EXT2_MMXEXT | CPUID_EXT2_RDTSCP | \ |
243 | 251 |
CPUID_EXT2_3DNOW | CPUID_EXT2_3DNOWEXT) |
252 |
/* missing: |
|
253 |
CPUID_EXT2_PDPE1GB */ |
|
244 | 254 |
#define TCG_EXT3_FEATURES (CPUID_EXT3_LAHF_LM | CPUID_EXT3_SVM | \ |
245 | 255 |
CPUID_EXT3_CR8LEG | CPUID_EXT3_ABM | CPUID_EXT3_SSE4A) |
246 | 256 |
|
... | ... | |
261 | 271 |
.model = 2, |
262 | 272 |
.stepping = 3, |
263 | 273 |
.features = PPRO_FEATURES | |
264 |
/* these features are needed for Win64 and aren't fully implemented */ |
|
265 | 274 |
CPUID_MTRR | CPUID_CLFLUSH | CPUID_MCA | |
266 |
/* this feature is needed for Solaris and isn't fully implemented */ |
|
267 | 275 |
CPUID_PSE36, |
268 | 276 |
.ext_features = CPUID_EXT_SSE3 | CPUID_EXT_CX16 | CPUID_EXT_POPCNT, |
269 | 277 |
.ext2_features = (PPRO_FEATURES & EXT2_FEATURE_MASK) | |
... | ... | |
282 | 290 |
.family = 16, |
283 | 291 |
.model = 2, |
284 | 292 |
.stepping = 3, |
285 |
/* Missing: CPUID_VME, CPUID_HT */ |
|
286 | 293 |
.features = PPRO_FEATURES | |
287 | 294 |
CPUID_MTRR | CPUID_CLFLUSH | CPUID_MCA | |
288 |
CPUID_PSE36, |
|
295 |
CPUID_PSE36 | CPUID_VME | CPUID_HT,
|
|
289 | 296 |
.ext_features = CPUID_EXT_SSE3 | CPUID_EXT_MONITOR | CPUID_EXT_CX16 | |
290 | 297 |
CPUID_EXT_POPCNT, |
291 |
/* Missing: CPUID_EXT2_PDPE1GB, CPUID_EXT2_RDTSCP */ |
|
292 | 298 |
.ext2_features = (PPRO_FEATURES & EXT2_FEATURE_MASK) | |
293 | 299 |
CPUID_EXT2_LM | CPUID_EXT2_SYSCALL | CPUID_EXT2_NX | |
294 | 300 |
CPUID_EXT2_3DNOW | CPUID_EXT2_3DNOWEXT | CPUID_EXT2_MMXEXT | |
295 |
CPUID_EXT2_FFXSR, |
|
301 |
CPUID_EXT2_FFXSR | CPUID_EXT2_PDPE1GB | CPUID_EXT2_RDTSCP,
|
|
296 | 302 |
/* Missing: CPUID_EXT3_CMP_LEG, CPUID_EXT3_EXTAPIC, |
297 | 303 |
CPUID_EXT3_CR8LEG, |
298 | 304 |
CPUID_EXT3_MISALIGNSSE, CPUID_EXT3_3DNOWPREFETCH, |
... | ... | |
308 | 314 |
.family = 6, |
309 | 315 |
.model = 15, |
310 | 316 |
.stepping = 11, |
311 |
/* The original CPU also implements these features: |
|
312 |
CPUID_VME, CPUID_DTS, CPUID_ACPI, CPUID_SS, CPUID_HT, |
|
313 |
CPUID_TM, CPUID_PBE */ |
|
314 | 317 |
.features = PPRO_FEATURES | |
315 | 318 |
CPUID_MTRR | CPUID_CLFLUSH | CPUID_MCA | |
316 |
CPUID_PSE36,
|
|
317 |
/* The original CPU also implements these ext features:
|
|
318 |
CPUID_EXT_DTES64, CPUID_EXT_DSCPL, CPUID_EXT_VMX, CPUID_EXT_EST,
|
|
319 |
CPUID_EXT_TM2, CPUID_EXT_CX16, CPUID_EXT_XTPR, CPUID_EXT_PDCM */
|
|
320 |
.ext_features = CPUID_EXT_SSE3 | CPUID_EXT_MONITOR | CPUID_EXT_SSSE3,
|
|
319 |
CPUID_PSE36 | CPUID_VME | CPUID_DTS | CPUID_ACPI | CPUID_SS |
|
|
320 |
CPUID_HT | CPUID_TM | CPUID_PBE,
|
|
321 |
.ext_features = CPUID_EXT_SSE3 | CPUID_EXT_MONITOR | CPUID_EXT_SSSE3 |
|
|
322 |
CPUID_EXT_DTES64 | CPUID_EXT_DSCPL | CPUID_EXT_VMX | CPUID_EXT_EST |
|
|
323 |
CPUID_EXT_TM2 | CPUID_EXT_CX16 | CPUID_EXT_XTPR | CPUID_EXT_PDCM,
|
|
321 | 324 |
.ext2_features = CPUID_EXT2_LM | CPUID_EXT2_SYSCALL | CPUID_EXT2_NX, |
322 | 325 |
.ext3_features = CPUID_EXT3_LAHF_LM, |
323 | 326 |
.xlevel = 0x80000008, |
... | ... | |
366 | 369 |
.family = 6, |
367 | 370 |
.model = 14, |
368 | 371 |
.stepping = 8, |
369 |
/* The original CPU also implements these features: |
|
370 |
CPUID_DTS, CPUID_ACPI, CPUID_SS, CPUID_HT, |
|
371 |
CPUID_TM, CPUID_PBE */ |
|
372 | 372 |
.features = PPRO_FEATURES | CPUID_VME | |
373 |
CPUID_MTRR | CPUID_CLFLUSH | CPUID_MCA, |
|
374 |
/* The original CPU also implements these ext features: |
|
375 |
CPUID_EXT_VMX, CPUID_EXT_EST, CPUID_EXT_TM2, CPUID_EXT_XTPR, |
|
376 |
CPUID_EXT_PDCM */ |
|
377 |
.ext_features = CPUID_EXT_SSE3 | CPUID_EXT_MONITOR, |
|
373 |
CPUID_MTRR | CPUID_CLFLUSH | CPUID_MCA | CPUID_DTS | CPUID_ACPI | |
|
374 |
CPUID_SS | CPUID_HT | CPUID_TM | CPUID_PBE, |
|
375 |
.ext_features = CPUID_EXT_SSE3 | CPUID_EXT_MONITOR | CPUID_EXT_VMX | |
|
376 |
CPUID_EXT_EST | CPUID_EXT_TM2 | CPUID_EXT_XTPR | CPUID_EXT_PDCM, |
|
378 | 377 |
.ext2_features = CPUID_EXT2_NX, |
379 | 378 |
.xlevel = 0x80000008, |
380 | 379 |
.model_id = "Genuine Intel(R) CPU T2600 @ 2.16GHz", |
... | ... | |
438 | 437 |
.model = 28, |
439 | 438 |
.stepping = 2, |
440 | 439 |
.features = PPRO_FEATURES | |
441 |
CPUID_MTRR | CPUID_CLFLUSH | CPUID_MCA | CPUID_VME, |
|
442 |
/* Missing: CPUID_DTS | CPUID_ACPI | CPUID_SS | |
|
443 |
* CPUID_HT | CPUID_TM | CPUID_PBE */ |
|
440 |
CPUID_MTRR | CPUID_CLFLUSH | CPUID_MCA | CPUID_VME | CPUID_DTS | |
|
441 |
CPUID_ACPI | CPUID_SS | CPUID_HT | CPUID_TM | CPUID_PBE, |
|
444 | 442 |
/* Some CPUs got no CPUID_SEP */ |
445 |
.ext_features = CPUID_EXT_MONITOR | |
|
446 |
CPUID_EXT_SSE3 /* PNI */ | CPUID_EXT_SSSE3, |
|
447 |
/* Missing: CPUID_EXT_DSCPL | CPUID_EXT_EST | |
|
448 |
* CPUID_EXT_TM2 | CPUID_EXT_XTPR */ |
|
443 |
.ext_features = CPUID_EXT_SSE3 | CPUID_EXT_MONITOR | CPUID_EXT_SSSE3 | |
|
444 |
CPUID_EXT_DSCPL | CPUID_EXT_EST | CPUID_EXT_TM2 | CPUID_EXT_XTPR, |
|
449 | 445 |
.ext2_features = (PPRO_FEATURES & EXT2_FEATURE_MASK) | CPUID_EXT2_NX, |
450 |
/* Missing: .ext3_features = CPUID_EXT3_LAHF_LM */
|
|
446 |
.ext3_features = CPUID_EXT3_LAHF_LM,
|
|
451 | 447 |
.xlevel = 0x8000000A, |
452 | 448 |
.model_id = "Intel(R) Atom(TM) CPU N270 @ 1.60GHz", |
453 | 449 |
}, |
Also available in: Unified diff