[PATCH 6/7] wineboot: Initialize XState features in user_shared_data.
Francois Gouget
fgouget at codeweavers.com
Thu May 27 12:46:21 CDT 2021
On Thu, 27 May 2021, Paul Gofman wrote:
[...]
> I have AMD Ryzen 5 3500X, Windows 10 Pro, 20H2 Build 19042.985.
> Everything was the same with these test results at the moment of writing
> the original patch. Maybe this depends on CPU feature flags, or AVX2. As
> far as I looked up, i7-2600K is from early 2010s and doesn't support
> AVX2, maybe it doesn't support some other xstate related features like
> xsavec or xsaveopt (I don't have a full cpuid for that CPU to be sure).
I think it has to do with the xsavec support. Running the (Linux) cpuid
tool on the cw-* machines gives:
i7-2600K:
XSAVE features (0xd/1):
XSAVEOPT instruction = true
XSAVEC instruction = false
XGETBV instruction = false
XSAVES/XRSTORS instructions = false
SAVE area size in bytes = 0x00000000 (0)
IA32_XSS lower 32 bits valid bit field mask = 0x00000000
IA32_XSS upper 32 bits valid bit field mask = 0x00000000
(same thing in the TestBot VMs and on my i7-4790K)
And the test does not get the broken case if I run it in a Windows 10 VM
on my laptop where cpuid says:
i7-8565U:
XSAVE features (0xd/1):
XSAVEOPT instruction = true
XSAVEC instruction = true
XGETBV instruction = true
XSAVES/XRSTORS instructions = true
SAVE area size in bytes = 0x000003c0 (960)
IA32_XSS lower 32 bits valid bit field mask = 0x00000100
IA32_XSS upper 32 bits valid bit field mask = 0x00000000
I think that's also the reason for the failure on Windows 8.1. So I'll
send a patch.
--
Francois Gouget <fgouget at codeweavers.com>
More information about the wine-devel
mailing list