On Tue, Oct 29, 2024 at 04:18:50PM +0100, Paolo Bonzini wrote: > Most of the patches here are from Tao Su's v1. The main issue in his > version were two: > > - overlooking kvm_cpu_xsave_init(), which currently looks at ExtSaveArea. > This would get a bit ugly for extended save states that are enabled > by both AVX512 and AVX10. Patches 1-2 change kvm_cpu_xsave_init() > to look at ExtSaveArea's size field instead of testing features. > > - downgrading silently to KVM reported value if the avx10_version property > is >= kvm reported value. Xiaoyao Li suggested basing this on > cpu->check_cpuid and cpu->enforce_cpuid. Also, the check must accept > any accelerator and not just KVM. I moved the check to > x86_cpu_filter_features in patch 4. > > I don't have a Granite Rapids machine, so please test! :)
I test it on Granite Rapids and all meet expection with my minor changes on patch4 :) > > Paolo > > Paolo Bonzini (3): > target/i386: cpu: set correct supported XCR0 features for TCG > target/i386: do not rely on ExtSaveArea for accelerator-supported XCR0 bits > target/i386: return bool from x86_cpu_filter_features > > Tao Su (5): > target/i386: add AVX10 feature and AVX10 version property > target/i386: add CPUID.24 features for AVX10 > target/i386: Add feature dependencies for AVX10 > target/i386: Add AVX512 state when AVX10 is supported > target/i386: Introduce GraniteRapids-v2 model > > target/i386/cpu.h | 16 ++++ > target/i386/cpu.c | 175 ++++++++++++++++++++++++++++++++++---- > target/i386/kvm/kvm-cpu.c | 8 -- > target/i386/kvm/kvm.c | 3 +- > 4 files changed, 175 insertions(+), 27 deletions(-) > > -- > 2.47.0 >