System hangs after enabling intel_iommu=on


Hi everyone,

I’m trying to get my PCI passthrough working (sound card and a graphic card). My setup is as follows:
CPU: Inetl i7 4790 (it supports VT-x and VT-d)
GPU1: Intel HD Graphics 4600
GPU2: nVidia GeForce 9800 GTX+ (for passthrough to Win7 guest)
MOBO: AsRock Z97 Extreme3
OS: Fedora 20
Kernel: 3.15.10-200.fc20.x86_64

My CPU and MOBO supports Intel VT-d and it is enabled in BIOS. When I tried to attach my soundcard to the Win7 guest I got an error stating that IOMMU in not enabled. Searching through forums and documentations I’ve found out that even though I’ve enabled IOMMU (Intel VT-d) in BIOS I have to explicitly enable it for the kernel with intel_iommu=on paremeter. And here where it gets tricky…

Here is my grub command line:

After booting with this parameters I’m able to log in to the system, but shortly after KDE finishes loading and I see the desktop my whole system hangs. Graphics freeze, networking (SSH) stops working, and no input from the keybord does anything. Only thing left is a hard reboot. When I delete the inetl_iommu=on parameter the computer starts normally.

When I boot into 3rd levev (console only) I’m able to log in and my system doesn’t hang. After wandering in the console I run startx I can see KDE loading, and after it fisnishes I get the system hang in the exact same moment.

Could somebody help me debug this thing?