|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v4 03/16] x86emul: support AVX10.1
On 21.04.2026 09:32, Oleksii Kurochko wrote: > > > On 4/9/26 5:03 PM, Jan Beulich wrote: >> This requires relaxing various pre-existing AVX512* checks, as AVX10.1 >> covers all AVX512* except PF, ER, 4FMAPS, 4VNNIW (support for all of >> which was removed meanwhile anyway), and VP2INTERSECT. At the same time >> all vector widths are always supported. >> >> Note that visa_check(), replacing host_and_vcpu_must_have() uses, checks >> only the guest capability: We wouldn't expose AVX512* (nor AVX10) >> without the hardware supporting it. Similarly in avx512_vlen_check() the >> original host_and_vcpu_must_have() is reduced just vcpu_must_have(). >> This also simplifies (resulting) code in the test and fuzzing harnesses, >> as there the XCR0 checks that are part of cpu_has_avx512* are only >> needed in local code, not in the emulator itself (where respective >> checking occurs elsewhere anyway, utilizing emul_test_read_xcr()). >> >> While in most cases the changes to x86_emulate() are entirely >> mechanical, for opmask insns earlier unconditional AVX512F checks are >> converted into "else" clauses to existing if/else-if ones. >> >> To be certain that no uses remain, also drop respective cpu_has_avx512* >> (except in the test harness) and vcpu_has_avx512*(). >> >> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> >> --- >> Probably avx512_vlen_check() should have the avx512_ prefix dropped, now >> that it also covers AVX10. But if so that wants to be either a prereq or >> a follow-on patch. >> >> visa_check() won't cover AVX10.2 and higher, but probably we will want >> independent checking logic for that anyway. >> >> Spec version 2 still leaves unclear what the xstate components are which >> would need enabling for AVX10/256. x86emul_get_fpu() is therefore >> untouched for now. >> >> Since it'll be reducing code size, we may want to further convert >> host_and_vcpu_must_have() to just vcpu_must_have() where appropriate >> (should be [almost?] everywhere). >> --- >> v4: Switch to using fallthrough pseudo-keyword. Drop new _vlen_check() >> helper again. Re-base. >> v3: Add ChangeLog entry. >> v2: Drop use of vsz128 field. Re-base, in particular over dropping of >> Xeon Phi support. >> >> --- a/CHANGELOG.md >> +++ b/CHANGELOG.md >> @@ -16,6 +16,7 @@ The format is based on [Keep a Changelog >> mitigate (by rate-limiting) the system wide impact of an HVM guest >> misusing atomic instructions. >> - Support for CPIO microcode in discrete multiboot modules. >> + - Support for AVX10.1. (Experimental) > > Acked-by: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>. Thanks. > What should be done else to have not experimental support of AVX10.1? Someone to actually try it out on real hardware. All my testing was with Intel's SDE. Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |