# How to check for IOMMU support



## mamalos (Oct 26, 2015)

Hi all.

I'm trying to setup a FreeBSD Dom0 Xen host following these directions, and my configuration fails to start `xencommons` service. The prerequisites of making FreeBSD work as a host (Dom0), based on the aforementioned guide, is to have a FreeBSD kernel r280954 or later (mine is r286666 - FreeBSD 10.2-RELEASE, so we're OK with that), and to have "an Intel box with *EPT* and a working *IOMMU*".

My CPU is Intel i7-2630QM, and by `grep`-ing /var/run/dmesg.boot I can see that *EPT* is found in my *VT-x* extensions, but I'm not sure how to check for *IOMMU* support (no instance of it in my boot messages). I read here that *IOMMU* is a *VT-d* extension and my CPU does not support such extensions, but I wanted to double-check that this holds, and hence my question. In the same link, it says that checking for *IOMMU* support is performed by: `acpidump -t | grep DMAR`, which I've run and returns nothing.

Thanks all in advance!


----------



## usdmatt (Oct 26, 2015)

VT-d is also required for pass-through in bhyve. There's a mention of how to check at the top of the wiki for it:
https://wiki.freebsd.org/bhyve/pci_passthru



> PCI passthru with bhyve works on systems that have the Intel IOMMU (aka VT-d). This can be determined by seeing if there is a DMAR table in the ACPI tables i.e. acpidump -t | grep DMAR



Edit: Obviously didn't read to the end of your post where you already mention the above wiki page and command. If it outputs nothing then yes, you have no VT-d support.


----------



## usdmatt (Oct 26, 2015)

Also, just putting the model number of any Intel chip into Google will take you to the brilliant Intel ARK website which shows the following:

http://ark.intel.com/products/52219/Intel-Core-i7-2630QM-Processor-6M-Cache-up-to-2_90-GHz


> Intel® Virtualization Technology (VT-x) ‡ Yes
> Intel® Virtualization Technology for Directed I/O (VT-d) ‡ No


----------



## mamalos (Oct 26, 2015)

Hi usdmatt, and thanks for your answers.

The truth is that I had seen both resources you mentioned before writing this post, so unfortunately: I knew thus far . What I wanted to double check was that:

IOMMU == VT-d, and 
that due to this, Xen Dom0 won't work. 

PS. By the way, I can run bhyve(8) on this system just fine (even though my CPU does not support VT-d); I don't mean that I'm able to passthrough PCI, but nor do I want to pass it in my Xen Dom0 installation.


----------



## usdmatt (Oct 26, 2015)

Ah, the title of the thread is a bit misleading.

It's about as clear as mud, but as far as I'm aware, no VT-d on Intel means no IOMMU. Quite why Xen would require it I'm not sure. I've never used Xen and FreeBSD Dom0 seems to have practically zero decent documentation at the moment. The best place to ask would be the freebsd-virtualization mailing list.


----------



## mamalos (Oct 28, 2015)

Thanks, will do.

PS. Maybe the title is not the best, but it is exactly what I was looking for wrt to Xen documentation.


----------

