All current mobos support virtualization. And almost all CPUs. AMD at least has full support in all of its CPUs. With intels make sure you check, they have the habit of crippling their lower end CPUs.
Now, virtualization has major support levels:
- The commonly referred as Hardware virtualization - Intel VT-x / AMD-V.
This feature is exactly the same on both AMD and Intel CPUs, only it has different names. It enables the virtual machines to access all CPU features directly, making them work directly with the CPU without the need of emulation (called paravirtualization). Watch out for Intel CPUs, lower end ones sometimes have this feature disabled artificially.
- I/O MMU virtualization (AMD-Vi and VT-d) - the most interesting feature os IOMMU is the possibility to give direct access to actual hardware to the virtual machine (PCI passthrough).
BUT in order to use IOMMU one needs:
- CPU that supports it (not all CPUs that support Intel VT-x / AMD-V support IOMMU). For example the AMD Trinity APUs support it (at least the 4 core models). Also the Bulldozer series. Intel is, again, a hit or miss for desktop CPUs - the lower end CPUs dont support IOMMU usually.
- Chipset support - the motherboard's chipset has to support IOMMU. Usually higher end chipsets support it (i have a F2A85X-D3H mobo that uses the A85 chipset and it has support for IOMMU).
- BIOS support - the BIOS has to support this feature specifically (the chipset might support it, but if the BIOS doesnt, it wont be available)
- Kernel support - the kernel HAS to be compiled with IOMMU support.
- VM support - the virtualization solution has to support IOMMU.
Also, the device that is handed over to the VM has to be deconfigured beforehand.
http://en.wikipedia.org/wiki/IOMMU
I think all current AMD CPU/APUs have virtualization (AMD-V) enabled (maybe Semprons dont, but those are virtualy extinct anyway). You could build a computer around a A4-5300 APU for example with a A55 chipset board.
http://www.cpu-world.com is a good site to check for CPU capabilities.