This series refactor the xsave CPUID handling so it won't silently disable any XSAVE components on CPUID[0xD] in case the host doesn't support it. It will instead use the exisitng check/enforce logic for filtering the CPUID bits and checking for host-side support.
This series is available on git at: https://github.com/ehabkost/qemu-hacks.git work/xsave-cpuid-cleanup The series is based on my x86-next branch, that contains other CPUID-related changes: https://github.com/ehabkost/qemu.git x8-next Eduardo Habkost (7): target-i386: Move feature name arrays inside FeatureWordInfo target-i386: Don't try to enable PT State xsave component target-i386: xsave: Calculate enabled components only once target-i386: xsave: Simplify CPUID[0xD,0].{EAX,EDX} calculation target-i386: xsave: Helper function to calculate xsave area size target-i386: xsave: Calculate set of xsave components on realize target-i386: Move xsave component mask to features array target-i386/cpu.c | 457 +++++++++++++++++++++++++++--------------------------- target-i386/cpu.h | 2 + 2 files changed, 230 insertions(+), 229 deletions(-) -- 2.7.4