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:
parent
252a463b6b
commit
335514dfdc
1 changed files with 16 additions and 2 deletions
|
@ -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);
|
||||||
|
|
Loading…
Reference in a new issue