diff options
author | Alexandru Dutu <alexandru.dutu@amd.com> | 2014-11-23 18:01:08 -0800 |
---|---|---|
committer | Alexandru Dutu <alexandru.dutu@amd.com> | 2014-11-23 18:01:08 -0800 |
commit | 335514dfdc63c6f8e34cc172e2582ceca548a07c (patch) | |
tree | fb78de2a719266a71c6cd23585dc3fda626820b4 /src/arch/x86 | |
parent | 252a463b6beadd6c12afdaa4650fde08ee82067a (diff) | |
download | gem5-335514dfdc63c6f8e34cc172e2582ceca548a07c.tar.xz |
cpuid, x86: Enabling more features in CPUid
Adding more features in the CPUid with the purpose of supporting running the
KvmCPU in SE mode.
Diffstat (limited to 'src/arch/x86')
-rw-r--r-- | src/arch/x86/cpuid.cc | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/arch/x86/cpuid.cc b/src/arch/x86/cpuid.cc index f3f9a82d7..de11195e0 100644 --- a/src/arch/x86/cpuid.cc +++ b/src/arch/x86/cpuid.cc @@ -96,8 +96,15 @@ namespace X86ISA { stringToRegister(vendorString + 8)); break; 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, - 0xe3d3fbff, 0x00000001); + 0xe3d3fbff, 0x00010840); break; case NameString1: case NameString2: @@ -153,8 +160,15 @@ namespace X86ISA { stringToRegister(vendorString + 8)); break; 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, - 0xe7dbfbff, 0x00000001); + 0xe7dbfbff, 0x14081201); break; default: warn("x86 cpuid: unimplemented function %u", funcNum); |