[Discuss] How do I check cpu compatibility?

Daniel M Gessel daniel at syntheticblue.com
Sun Oct 8 13:45:27 EDT 2023


It's nice to be able to optimize SW (at build time) to use some ISA 
extensions, but so many unique subsets of extensions have been realized 
in silicon that it's a bit of a mess. Defining, retrospectively, 
"sub-architectures" around key extensions for OS performance and 
security seems like a good idea.

CPUID can still be used to detect individual extensions at run-time.


On 2023-10-08 10:41, Shankar Viswanathan wrote:
> On 10/8/23 03:01, John Abreau wrote:
>>> I figure Intel  uses terminology other than "x86-64-v2", but I have 
>>> no idea
>>> what their terminology is. None of my google searches have found 
>>> anything
>>> helpful.
>>>
>>> How can I determine whether a given cpu type is "x86-64-v2" compatible?
>
> You have my sympathies! Intel and AMD each use a different terminology 
> and for some reason the software vendors have decided to use yet other 
> confusing names for the same set of features. x86-64 (aka AMD64) 
> itself keeps evolving, but neither AMD nor Intel have established a 
> versioning scheme on the ISA itself, so I personally do not like this 
> "x86-64-v2" naming. The features being discussed here are specific to 
> virtualization support, not the whole ISA. The basic HW virtualization 
> support is called SVM or AMD-V by AMD, and VT-x by Intel.
>
> Broadly, there are two features that have been labeled as "v2" in this 
> context:
> 1. Support for second level address translations (aka SLAT): AMD calls 
> this Nested Page Tables (NPT), and Intel calls it Extended Page Tables 
> (EPT)
> 2. Support for I/O virtualization: AMD calls this IOMMUv2 or AMD-Vi, 
> and Intel refers to this as VT-d
>
> As pointed out in the previous comment, most 
> server/workstation/desktop processors from Intel and AMD have 
> supported these features for at least a decade. There are certain 
> products and SKUs that may not support it (typically only lower end 
> products), so it is best to read the spec summary from AMD or Intel to 
> confirm.
>
> Specific to your question about Xeon E5-2690 V2, see:
> https://www.intel.com/content/www/us/en/products/sku/75279/intel-xeon-processor-e52690-v2-25m-cache-3-00-ghz/specifications.html 
>
>
> If you scroll down to the "Security and Reliability" section, you'll 
> notice that both VT-d and EPT are supported. So you should be good on 
> that front. Often, these features are not enabled by default in the 
> BIOS, so please make sure to turn them on if you intend to run VMs on 
> the machine. Once you're booted into Linux, you can check 
> /proc/cpuinfo or run `lscpu` to verify that the "vmx", and "ept" flags 
> are present (AMD equivalents will be "svm" and "npt").
>
> -Shankar
>
>
>
>
>
> _______________________________________________
> Discuss mailing list
> Discuss at lists.blu.org
> http://lists.blu.org/mailman/listinfo/discuss


More information about the Discuss mailing list