Integrated MegaRAID controller and AMD IOMMU issue

From: James Georgas
Date: Tue Jun 25 2013 - 02:18:54 EST


I have a Supermicro H8DG6-F board, which has an LSI SAS2008 RAID controller on it with the optional RAID5 hardware key installed. I have set up a three disk RAID5 array, using the LSI WebBIOS utility.

My kernel is configured with the MEGARAID_SAS driver. The driver picks up the RAID5 array, and I can read and write it with no problems. (In fact, my root filesystem is on a JBOD disk attached to the same controller, and I have no problems with it). However, as soon as I enable the AMD IOMMU in the kernel, bad things start to happen. The driver still picks up the RAID5 array, but any attempt to access it causes the machine to become non-responsive, and I have recover via hard reset.

I discussed the issue with an LSI engineer, and he said that since the integrated controller uses system memory, which it gets from the BIOS during initialization, there will be issues with the IOMMU. I assume he is referring to DMA address problems due to IOMMU translation.

My question is: is this something that can be addressed in the kernel drivers (MEGARAID_SAS or AMD_IOMMU), for example by protecting the LSI controller's memory resources from the IOMMU, or am I just out of luck here?

Cheers,
James--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/