On Mon, Jul 07, 2025 at 10:11:51PM +0800, Xiaoyao Li wrote:
> Date: Mon, 7 Jul 2025 22:11:51 +0800
> From: Xiaoyao Li <xiaoyao...@intel.com>
> Subject: [PATCH v2] i386/cpu: Remove FEAT_24_0_EBX for AVX10
> X-Mailer: git-send-email 2.43.0
> 
> It turns out that all the Intel processors enumerating the support of
> Intel AVX10 support all vector widths. It's documented in the latest
> SDM, vol 1, Chapter 16 "programming with Intel AVX10".
> 
> (Note that AVX10.1 spec stops update since AVX10 is subsumed into SDM
>  while AVX10.2 spec stays update for the future extension of AVX10)
> 
> Now SDM [1] marks the bit 16-18 of CPUID.0x24_0.EBX as reserved and they
> are reserved at 1. The purpose of Intel is to remove the semantic of
> vector length enumeration from these bits since all the 128/256/512 bit
> length are supported and no need for enumeration. But Intel has to keep
> them reserved at 1 to make it compatible with the software written based
> on earlier avx10 spec that checks the bits to query of the support of each
> vector length.
> 
> For QEMU, it makes no sense to allow the configurability of the bits
> anymore. Remove the leaf FEAT_24_0_EBX and related stuff. Just hardcore
> the bits to all 1 when AVX10 is exposed to guest, to comply with the SDM
> and stop trying to associate them with the enumeration of vector length.
> 
> [1] https://cdrdv2.intel.com/v1/dl/getContent/671200 (rev 088)
> 
> Signed-off-by: Xiaoyao Li <xiaoyao...@intel.com>
> ---
> changes in v2:
>  - refine the commit message to reference update from SDM instead of
>    AVX10 spec;
>  - call out explicitly the purpose of disassociating the enumeration of
>    vector length from the CPUID bits.
> ---
>  target/i386/cpu.c | 37 ++-----------------------------------
>  target/i386/cpu.h | 12 ------------
>  2 files changed, 2 insertions(+), 47 deletions(-)

LGTM,

Reviewed-by: Zhao Liu <zhao1....@intel.com>


Reply via email to