[pve-devel] [PATCH v4 qemu-server 1/1] cpuconfig: add new x86-64-vX models

Fiona Ebner f.ebner at proxmox.com
Wed Jun 7 13:48:40 CEST 2023


Am 07.06.23 um 12:57 schrieb DERUMIER, Alexandre:
>>
>> So again, sounds like the xsave feature is required for the osxsave
>> feature to even make sense.
>>
> The problem is that xsaves is not supported on all intel/amd cpu, 
> 
> older model don't seem to support xsaves too  (intel only since
> sandybridge , amd since epyc v1)
> https://github.com/qemu/qemu/blob/master/target/i386/cpu.c#L3050
> 
> 
> 
> but also newer model depending of firmware revision
> 
> "target/i386: EPYC-Rome model without XSAVES"
> https://github.com/qemu/qemu/commit/fb00aa61267c8b9c57a2d1a1fa1e336d02e3bcd1
> 

AFAIU, xsaves with the additional s is just an optional sub-feature of
xsave:
https://en.wikipedia.org/wiki/CPUID#EAX%3D0Dh%3A_XSAVE_features_and_state-components

Note that QEMU has both, a xsave and an xsaves CPU flag.

If I run the cpuid-dump2.c script in my VM with

-cpu
qemu64,+abm,+aes,+avx,+avx2,+bmi1,+bmi2,enforce,+f16c,+fma,+kvm_pv_eoi,+kvm_pv_unhalt,+movbe,+pni,+popcnt,+sse4.1,+sse4.2,+ssse3,xsave

I get

cpu=bdver4 -mmmx -mno-3dnow -msse -msse2 -msse3 -mssse3 -mno-sse4a
-mcx16 -msahf -mmovbe -maes -mno-sha -mno-pclmul -mpopcnt -mabm -mno-lwp
-mfma -mno-fma4 -mno-xop -mbmi -mbmi2 -mno-tbm -mavx -mavx2 -msse4.2
-msse4.1 -mlzcnt -mno-rtm -mno-hle -mno-rdrnd -mf16c -mno-fsgsbase
-mno-rdseed -mno-prfchw -mno-adx -mfxsr

here -> -mxsave

-mno-xsaveopt -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf
-mno-prefetchwt1 -mno-clflushopt -mno-xsavec

here -> -mno-xsaves

-mno-avx512dq -mno-avx512bw -mno-avx512vl -mno-avx512ifma
-mno-avx512vbmi -mno-clwb -mno-pcommit

So there is -mxsave, but also -mno-xsaves.

But couldn't find from which models onward xsave is supported from a
quick search.





More information about the pve-devel mailing list