> I’m planning on requiring support for all the features that have been in every cpu that shipped in the last 10+ years. But it’s basically impossible to figure that out.
The easiest thing would probably to specify the need for "x86-64-v3":
* https://en.wikipedia.org/wiki/X86-64#Microarchitecture_level...
RHEL9 mandated "x86-64-v2", and v3 is being considered for RHEL10:
> The x86-64-v3 level has been implemented first in Intel’s Haswell CPU generation (2013). AMD implemented x86-64-v3 support with the Excavator microarchitecture (2015). Intel’s Atom product line added x86-64-v3 support with the Gracemont microarchitecture (2021), but Intel has continued to release Atom CPUs without AVX support after that (Parker Ridge in 2022, and an Elkhart Lake variant in 2023).
* https://developers.redhat.com/articles/2024/01/02/exploring-...
RHEL10 has been released and does require x86-64-v3.
> The easiest thing would probably to specify the need for "x86-64-v3"
AFAIK, that only specifies the user-space-visible instruction set extensions, not the presence and version of operating-system-level features like APIC or IOMMU.