Revision a6f37988
b/target-i386/helper2.c | ||
---|---|---|
102 | 102 |
stepping = 3; |
103 | 103 |
#endif |
104 | 104 |
#endif |
105 |
env->cpuid_level = 2; |
|
105 | 106 |
env->cpuid_version = (family << 8) | (model << 4) | stepping; |
106 | 107 |
env->cpuid_features = (CPUID_FP87 | CPUID_DE | CPUID_PSE | |
107 | 108 |
CPUID_TSC | CPUID_MSR | CPUID_MCE | |
108 | 109 |
CPUID_CX8 | CPUID_PGE | CPUID_CMOV); |
109 | 110 |
env->cpuid_ext_features = 0; |
110 | 111 |
env->cpuid_features |= CPUID_FXSR | CPUID_MMX | CPUID_SSE | CPUID_SSE2 | CPUID_PAE | CPUID_SEP; |
112 |
env->cpuid_xlevel = 0; |
|
113 |
{ |
|
114 |
const char *model_id = "QEMU Virtual CPU version " QEMU_VERSION; |
|
115 |
int c, len, i; |
|
116 |
len = strlen(model_id); |
|
117 |
for(i = 0; i < 48; i++) { |
|
118 |
if (i >= len) |
|
119 |
c = '\0'; |
|
120 |
else |
|
121 |
c = model_id[i]; |
|
122 |
env->cpuid_model[i >> 2] |= c << (8 * (i & 3)); |
|
123 |
} |
|
124 |
} |
|
111 | 125 |
#ifdef TARGET_X86_64 |
112 | 126 |
/* currently not enabled for std i386 because not fully tested */ |
113 | 127 |
env->cpuid_features |= CPUID_APIC; |
128 |
env->cpuid_ext2_features = (env->cpuid_features & 0x0183F3FF); |
|
129 |
env->cpuid_ext2_features |= CPUID_EXT2_LM | CPUID_EXT2_SYSCALL; |
|
130 |
env->cpuid_xlevel = 0x80000008; |
|
114 | 131 |
#endif |
115 | 132 |
} |
116 | 133 |
cpu_single_env = env; |
Also available in: Unified diff