Results 1 to 4 of 4

Thread: DMAR errors with VT-d enabled

  1. #1

    Default DMAR errors with VT-d enabled

    I'm opening this thread to find out more about some errors when booting with kernel parameter iommu=on (I need VT-d for two VMs on this server).

    Specifically, when enabling iommu=on the kernel module for the RAID card (a Highpoint RocketRAID 2642) the logs state

    Code:
    2014-04-25T09:37:53.595431+01:00 kvmhost kernel: [    8.490167] dmar: DRHD: handling fault status reg 2
    2014-04-25T09:37:53.595431+01:00 kvmhost kernel: [    8.490171] dmar: DMAR:[DMA Read] Request device [01:00.0] fault addr 41a6aa000
    2014-04-25T09:37:53.595431+01:00 kvmhost kernel: [    8.490171] DMAR:[fault reason 01] Present bit in root entry is clear
    resulting in the kernel module not loading and the RAID array not showing up.

    I have requested to close the thread in the Install/Boot/Login forum I had opened for this issue https://forums.opensuse.org/showthre...orking-on-13-1 as it looks to be VT-d related.

    I'm not knowledgeable enough to interpret this and I was hoping someone would be able to help and tell me if
    1. this is related to a kernel issue, motherboard BIOS issue or RAID driver issue
    2. if there is a workaround or any other troubleshooting steps I can take



    This is on OpenSUSE 13.1 with kernel 3.11. Mainboard and RAID card BIOS have been updated to the latest version, respectively 2.1 for the Super Micro X9SCM-F mainboard and 1.4 for the Highpoint RocketRAID 2642 card.

    Any feedback is very much appreciated. Thanks!

  2. #2
    Join Date
    Jun 2008
    Location
    San Diego, Ca, USA
    Posts
    13,295
    Blog Entries
    2

    Default Re: DMAR errors with VT-d enabled

    Recommend you start here.
    http://www.linux-kvm.org/page/How_to...th_VT-d_in_KVM

    Looks like it steps you through how to test, and if your hardware supports to configure.

    TSU

  3. #3

    Default Re: DMAR errors with VT-d enabled

    Quote Originally Posted by tsu2 View Post
    Recommend you start here.
    http://www.linux-kvm.org/page/How_to...th_VT-d_in_KVM

    Looks like it steps you through how to test, and if your hardware supports to configure.

    TSU
    Hi Tsu, thanks for your reply.

    IOMMU is enabled and working, I can successfully passthrough the onboard SATA controllers and several USB devices to guests.

    The instructions and troubleshooting on the page you linked relate to assigning devices to KVM guests. What I'm trying to have working here is the RAID controller for use by the host, the device should not be passed to any guests.

    I have been able to reproduce this issue on another mainboard that supports VT-d from another manufacturer, so it may not be related to the VT-d support in the mainboard BIOS (which I understood can be dodgy at times).

    Is there a way to disable DMAR on a per-device basis or am I wrong in understanding this error message as a DMA remapping issue?

  4. #4

    Default Re: DMAR errors with VT-d enabled

    There appears to be a kernel parameter intel_iommu=pt. This would,

    set up pass through mode in
    context mapping entry. This disables DMAR in linux kernel; but KVM still runs on
    VT-d and interrupt remapping still works.

    In this mode, kernel uses swiotlb for DMA API functions but other VT-d
    functionalities are enabled for KVM. KVM always uses multi level translation
    page table in VT-d. By default, pass though mode is disabled in kernel.

    This is useful when people don't want to enable VT-d DMAR in kernel but still
    want to use KVM and interrupt remapping for reasons like DMAR performance
    concern or debug purpose.
    quoting from http://lkml.iu.edu/hypermail/linux/k...4.1/03905.html.

    Setting intel_iommu=pt does allow the RAID controller kernel module to start properly. Need to do further testing though to confirm that passthrough of SATA and USB still works for the guest VMs.

    I'm not overly keen on this kind of "blanket" workaround and would prefer a solution or workaround that only affects the specific device I'm having issues with. Though I would think that this would have the most impact for passthrough of VGA devices, which I'm not doing on this unit.

    Xen does seem to have more control over regarding VT-d as listed on http://wiki.xen.org/wiki/VTd_HowTo but I'd like to stick to KVM.

    Anyhow, ideas and feedback still welcome. Thanks.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •