diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2009-04-19 03:11:24 -0700 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2009-04-19 03:11:24 -0700 |
commit | eba640c963cc9548fe842923d02c9bd7b38e12a1 (patch) | |
tree | b7ec74b4487b3ecf9efb13856aa53b4b4d2e3a96 /src/arch | |
parent | 27e54982b40cda334f03d4f4c13a19df028b884b (diff) | |
download | gem5-eba640c963cc9548fe842923d02c9bd7b38e12a1.tar.xz |
X86: Only use %eax to select a function and look like we support sse2.
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/x86/cpuid.cc | 4 | ||||
-rw-r--r-- | src/arch/x86/isa/decoder/two_byte_opcodes.isa | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/src/arch/x86/cpuid.cc b/src/arch/x86/cpuid.cc index f06ba04d8..4ac7a5d19 100644 --- a/src/arch/x86/cpuid.cc +++ b/src/arch/x86/cpuid.cc @@ -89,7 +89,7 @@ namespace X86ISA { case VendorAndLargestExtFunc: assert(vendorStringSize >= 12); result = CpuidResult( - NumExtendedCpuidFuncs - 1, + 0x80000000 + NumExtendedCpuidFuncs - 1, stringToRegister(vendorString), stringToRegister(vendorString + 4), stringToRegister(vendorString + 8)); @@ -149,7 +149,7 @@ namespace X86ISA { break; case FamilyModelStepping: result = CpuidResult(0x00020f51, 0000000405, - 0xe3d3fbff, 0x00000001); + 0xe7d3fbff, 0x00000001); break; default: return false; diff --git a/src/arch/x86/isa/decoder/two_byte_opcodes.isa b/src/arch/x86/isa/decoder/two_byte_opcodes.isa index 1ee62142a..0f6d59f3d 100644 --- a/src/arch/x86/isa/decoder/two_byte_opcodes.isa +++ b/src/arch/x86/isa/decoder/two_byte_opcodes.isa @@ -813,7 +813,7 @@ 0x1: pop_fs(); 0x2: CPUIDInst::CPUID({{ CpuidResult result; - success = doCpuid(xc->tcBase(), Rax, result); + success = doCpuid(xc->tcBase(), bits(Rax, 31, 0), result); Rax = result.rax; Rbx = result.rbx; Rcx = result.rcx; |