Revision 42673936 target-i386/cpuid.c

b/target-i386/cpuid.c
196 196
          CPUID_MSR | CPUID_MCE | CPUID_CX8 | CPUID_PGE | CPUID_CMOV | \
197 197
          CPUID_PAT | CPUID_FXSR | CPUID_MMX | CPUID_SSE | CPUID_SSE2 | \
198 198
          CPUID_PAE | CPUID_SEP | CPUID_APIC)
199
#define EXT2_FEATURE_MASK 0x0183F3FF
199 200

  
200 201
/* maintains list of cpu model definitions
201 202
 */
......
220 221
        /* this feature is needed for Solaris and isn't fully implemented */
221 222
            CPUID_PSE36,
222 223
        .ext_features = CPUID_EXT_SSE3 | CPUID_EXT_CX16 | CPUID_EXT_POPCNT,
223
        .ext2_features = (PPRO_FEATURES & 0x0183F3FF) |
224
        .ext2_features = (PPRO_FEATURES & EXT2_FEATURE_MASK) |
224 225
            CPUID_EXT2_LM | CPUID_EXT2_SYSCALL | CPUID_EXT2_NX,
225 226
        .ext3_features = CPUID_EXT3_LAHF_LM | CPUID_EXT3_SVM |
226 227
            CPUID_EXT3_ABM | CPUID_EXT3_SSE4A,
......
243 244
        .ext_features = CPUID_EXT_SSE3 | CPUID_EXT_MONITOR | CPUID_EXT_CX16 |
244 245
            CPUID_EXT_POPCNT,
245 246
        /* Missing: CPUID_EXT2_PDPE1GB, CPUID_EXT2_RDTSCP */
246
        .ext2_features = (PPRO_FEATURES & 0x0183F3FF) |
247
        .ext2_features = (PPRO_FEATURES & EXT2_FEATURE_MASK) |
247 248
            CPUID_EXT2_LM | CPUID_EXT2_SYSCALL | CPUID_EXT2_NX |
248 249
            CPUID_EXT2_3DNOW | CPUID_EXT2_3DNOWEXT | CPUID_EXT2_MMXEXT |
249 250
            CPUID_EXT2_FFXSR,
......
293 294
        /* Missing: CPUID_EXT_POPCNT, CPUID_EXT_MONITOR */
294 295
        .ext_features = CPUID_EXT_SSE3 | CPUID_EXT_CX16,
295 296
        /* Missing: CPUID_EXT2_PDPE1GB, CPUID_EXT2_RDTSCP */
296
        .ext2_features = (PPRO_FEATURES & 0x0183F3FF) |
297
        .ext2_features = (PPRO_FEATURES & EXT2_FEATURE_MASK) |
297 298
            CPUID_EXT2_LM | CPUID_EXT2_SYSCALL | CPUID_EXT2_NX,
298 299
        /* Missing: CPUID_EXT3_LAHF_LM, CPUID_EXT3_CMP_LEG, CPUID_EXT3_EXTAPIC,
299 300
                    CPUID_EXT3_CR8LEG, CPUID_EXT3_ABM, CPUID_EXT3_SSE4A,
......
380 381
        .model = 2,
381 382
        .stepping = 3,
382 383
        .features = PPRO_FEATURES | CPUID_PSE36 | CPUID_VME | CPUID_MTRR | CPUID_MCA,
383
        .ext2_features = (PPRO_FEATURES & 0x0183F3FF) | CPUID_EXT2_MMXEXT | CPUID_EXT2_3DNOW | CPUID_EXT2_3DNOWEXT,
384
        .ext2_features = (PPRO_FEATURES & EXT2_FEATURE_MASK) | CPUID_EXT2_MMXEXT | CPUID_EXT2_3DNOW | CPUID_EXT2_3DNOWEXT,
384 385
        .xlevel = 0x80000008,
385 386
        /* XXX: put another string ? */
386 387
        .model_id = "QEMU Virtual CPU version " QEMU_VERSION,
......
401 402
            CPUID_EXT_SSE3 /* PNI */ | CPUID_EXT_SSSE3,
402 403
            /* Missing: CPUID_EXT_DSCPL | CPUID_EXT_EST |
403 404
             * CPUID_EXT_TM2 | CPUID_EXT_XTPR */
404
        .ext2_features = (PPRO_FEATURES & 0x0183F3FF) | CPUID_EXT2_NX,
405
        .ext2_features = (PPRO_FEATURES & EXT2_FEATURE_MASK) | CPUID_EXT2_NX,
405 406
        /* Missing: .ext3_features = CPUID_EXT3_LAHF_LM */
406 407
        .xlevel = 0x8000000A,
407 408
        .model_id = "Intel(R) Atom(TM) CPU N270   @ 1.60GHz",

Also available in: Unified diff