On Thu, Jun 16, 2022 at 02:22:09PM -0700, Chang S. Bae wrote: > + 1. **Check the feature availability**. AMX_TILE is enumerated in CPUID > + leaf 7, sub-leaf 0, bit 24 of EDX. If available, ``/proc/cpuinfo`` > + shows ``amx_tile`` in the flag entry of the CPUs. Given that, the > + kernel may have set XSTATE component 18 in the XCR0 register. But a > + user needs to ensure the kernel support via the ARCH_GET_XCOMP_SUPP > + option:: > + > + #include <asm/prctl.h> > + #include <sys/syscall.h> > + #include <stdio.h> > + #include <unistd.h> > + > + #define ARCH_GET_XCOMP_SUPP 0x1021 > + > + #define XFEATURE_XTILECFG 17 > + #define XFEATURE_XTILEDATA 18 > + #define XFEATURE_MASK_XTILE ((1 << XFEATURE_XTILECFG) | (1 << XFEATURE_XFILEDATA)) > + > + unsigned long features; > + long rc; > + > + ... > + > + rc = syscall(SYS_arch_prctl, ARCH_GET_XCOMP_SUPP, &features); > + > + if (!rc && features & XFEATURE_MASK_XTILE == XFEATURE_MASK_XTILE) > + printf("AMX is available.\n"); > + nit: stdio include line isn't aligned with the rest of code. Otherwise LGTM (no new warnings). Reviewed-by: Bagas Sanjaya <bagasdotme@xxxxxxxxx> -- An old man doll... just what I always wanted! - Clara
Attachment:
signature.asc
Description: PGP signature