By default, VMware vCenter allows only vMotions between compatible source and destination CPUs. So if you have been trying to move a VM from one host to another, and you got stuck with a error message telling you that the CPU of your destination host is incompatible with the CPU configuration of your Virtual Machine, then this usually means one of the following:

a) you did not mask the NX/XD bit in the settings of the VM or…
b) you did not enable the “No-Execute Memory Protection” on both your source host and destination host or…
c) you did not have your cluster of ESX hosts configured for Enhanced VMotion Compatibility (EVC)
  1. To enable NX or XD in the BIOS:
    • Restart your host.
    • While booting, before Windows starts, press the key to go to BIOS.
    • In the BIOS, go to the Security tab.
    • Look for the NX or XD flag.Note: For Intel processors, you see the XD flag and for AMD processors, you see the NX flag. If that is not enabled, toggle the option and enable it.
    • Save the settings and exit the BIOS settings.
    • Restart your computer.
  2. To enable the “No-Execute Memory Protection”
    • Reboot the server and access the BIOS
    • Select “Advanced Options”
    • Enable “No-Execute Memory Protection” (this is what is called on HP servers)
    • Press “F10″ to save and the server will restart.
  3. To have ESX hosts configured for Enhanced VMotion Compatibility (EVC)
    • Right click your cluster and choose Edit Setting
    • Click on the VMware EVC in the left panel
    • Select the option “Enable EVC for Intel Hosts” or “Enable EVC for AMD Hosts”.
    • Now choose your VMWare EVC mode: you can raise the EVC mode to expose more CPU features, or lower the EVC mode in order to hide CPU features and increase compatibility with older hardware
    • Click Ok

Further informations can be retrieved in  this article.

Posted in: VMware vSphere