cpuid, x86: Enabling more features in CPUid

Adding more features in the CPUid with the purpose of supporting running the
KvmCPU in SE mode.
This commit is contained in:
Alexandru Dutu 2014-11-23 18:01:08 -08:00
parent 252a463b6b
commit 335514dfdc

View file

@ -96,8 +96,15 @@ namespace X86ISA {
stringToRegister(vendorString + 8)); stringToRegister(vendorString + 8));
break; break;
case FamilyModelSteppingBrandFeatures: case FamilyModelSteppingBrandFeatures:
/** Features Enabling
* rdx, enabling most of the features except:
* FXSR, FFXSR, Page1GB in EDX
*
* rcx, disabling most of the features except:
* SSE4A, XOP, FMA4 in ECX
*/
result = CpuidResult(0x00020f51, 0x00000405, result = CpuidResult(0x00020f51, 0x00000405,
0xe3d3fbff, 0x00000001); 0xe3d3fbff, 0x00010840);
break; break;
case NameString1: case NameString1:
case NameString2: case NameString2:
@ -153,8 +160,15 @@ namespace X86ISA {
stringToRegister(vendorString + 8)); stringToRegister(vendorString + 8));
break; break;
case FamilyModelStepping: case FamilyModelStepping:
/** Features Enabling
* rdx, enabling most of the features except:
* HTT in EDX
*
* rcx, disabling most of the features except:
* SSE3, SSSE3, FMA, SSE41, XSAVE, AVX in ECX
*/
result = CpuidResult(0x00020f51, 0x00000805, result = CpuidResult(0x00020f51, 0x00000805,
0xe7dbfbff, 0x00000001); 0xe7dbfbff, 0x14081201);
break; break;
default: default:
warn("x86 cpuid: unimplemented function %u", funcNum); warn("x86 cpuid: unimplemented function %u", funcNum);