- VT-x needs to be enabled (aka Virtualization Support or Hardware Virtualization)
- IOMMU needs to be enabled (aka Intel VT-d or Hardware IOMMU)
- TXT needs to be disabled (aka Trusted Execution Technology)
Disabled by Default
A common source of frustration for first-time HVM users is that VT-x is disabled by default in most BIOS. This is complicated by the fact that error messages encountered when running an xl create command on a VT-x disabled machine are not necessarily explicit.
For example, with VT-x disabled, the xl create error message may resemble this output:
# xl create /etc/xen/hostname.cfg Parsing config from /etc/xen/hostname.cfg libxl: error: libxl_create.c:564:libxl__domain_make: domain creation fail: Invalid argument libxl: error: libxl_create.c:928:initiate_domain_create: cannot make domain: -3
Luckily, the VT-x status of your Xen system may be confirmed by running the xl dmesg command in Dom0.
# xl dmesg | grep -i vmx
If VT-x is disabled, you should find the following lines in the resulting output:
(XEN) CPU0: VMX disabled by BIOS. (XEN) VMX: failed to initialise.
Otherwise, if VT-x is enabled, expect to see the text:
(XEN) VMX: Supported advanced features: (XEN) HVM: VMX enabled
Similar information for VT-d, and other relevant BIOS configuration options, may also be found in the output of the xl dmesg command.
(This tutorial is an excerpt from Creating HVM DomU Virtual Machines in Xen Project Hypervisor, also found on vidigest.com.)