]> git.ipfire.org Git - thirdparty/qemu.git/commit
i386/cpu: Move x86_ext_save_areas[] initialization to .instance_init
authorZhao Liu <zhao1.liu@intel.com>
Thu, 17 Jul 2025 02:39:33 +0000 (10:39 +0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 17 Jul 2025 13:51:29 +0000 (15:51 +0200)
commite52af92e9e6f8fc00f2ae6b63214b3d6213b3cec
tree2ad75c8997dc5f7ec7f02e97d4ebbf08dd1c49c9
parentd3a24134e37d57abd3e7445842cda2717f49e96d
i386/cpu: Move x86_ext_save_areas[] initialization to .instance_init

In x86_cpu_post_initfn(), the initialization of x86_ext_save_areas[]
marks the unsupported xsave areas based on Host support.

This step must be done before accel_cpu_instance_init(), otherwise,
KVM's assertion on host xsave support would fail:

qemu-system-x86_64: ../target/i386/kvm/kvm-cpu.c:149:
kvm_cpu_xsave_init: Assertion `esa->size == eax' failed.

(on AMD EPYC 7302 16-Core Processor)

Move x86_ext_save_areas[] initialization to .instance_init and place it
before accel_cpu_instance_init().

Fixes: commit 5f158abef44c ("target/i386: move accel_cpu_instance_init to .instance_init")
Reported-by: Paolo Abeni <pabeni@redhat.com>
Tested-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Link: https://lore.kernel.org/r/20250717023933.2502109-1-zhao1.liu@intel.com
Reviewed-by: Xiaoyao Li <xiaoyao.li@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
target/i386/cpu.c