[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