We already bump to level 7 if features there are requested, so do the
same for 0xD.

Signed-off-by: Radim Krčmář <rkrc...@redhat.com>
---
 If we want this behavior, we should not do it by writing a case for
 every level.

 target-i386/cpu.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index d392cf46f517..7a32ead690d2 100644
--- a/target-i386/cpu.c
+++ b/target-i386/cpu.c
@@ -2796,6 +2796,10 @@ static void x86_cpu_realizefn(DeviceState *dev, Error 
**errp)
         env->cpuid_level = 7;
     }
 
+    if (env->features[FEAT_XSAVE] && env->cpuid_level < 0xd) {
+        env->cpuid_level = 0xd;
+    }
+
     /* On AMD CPUs, some CPUID[8000_0001].EDX bits must match the bits on
      * CPUID[1].EDX.
      */
-- 
2.4.4


Reply via email to