fixed CPU leaf 0xD

This commit is contained in:
Stanislav Shwartsman 2011-08-03 21:23:08 +00:00
parent 1adda7bf64
commit 5ffb201184
2 changed files with 4 additions and 4 deletions

View File

@ -564,9 +564,9 @@ void corei7_sandy_bridge_2600k_t::get_std_cpuid_xsave_leaf(Bit32u subfunction, c
// EBX - Maximum size (in bytes) required by enabled features
// ECX - Maximum size (in bytes) required by CPU supported features
// EDX - valid bits of XCR0 (upper part)
leaf->eax = cpu->xcr0_suppmask;
leaf->eax = cpu->xcr0.get32();
leaf->ebx = 512+64;
if (cpu->xcr0_suppmask & BX_XCR0_AVX_MASK)
if (cpu->xcr0.get_AVX())
leaf->ebx += 256;
leaf->ecx = 512+64;
if (cpu->xcr0_suppmask & BX_XCR0_AVX_MASK)

View File

@ -424,10 +424,10 @@ void bx_generic_cpuid_t::get_std_cpuid_xsave_leaf(Bit32u subfunction, cpuid_func
// EBX - Maximum size (in bytes) required by enabled features
// ECX - Maximum size (in bytes) required by CPU supported features
// EDX - valid bits of XCR0 (upper part)
leaf->eax = cpu->xcr0_suppmask;
leaf->eax = cpu->xcr0.get32();
leaf->ebx = 512+64;
#if BX_SUPPORT_AVX
if (cpu->xcr0_suppmask & BX_XCR0_AVX_MASK)
if (cpu->xcr0.get_AVX())
leaf->ebx += 256;
#endif
leaf->ecx = 512+64;