[Discuss] How do I check cpu compatibility?

Shankar Viswanathan shankar.viswan at gmail.com
Sun Oct 8 10:41:01 EDT 2023


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







More information about the Discuss mailing list