<html>
    <head>
      <base href="https://bugs.dpdk.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8" class="bz_new_table">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_UNCONFIRMED "
   title="UNCONFIRMED - Devices bound to igb_uio with VT-d enabled do not work on Linux kernel 3.15-3.17"
   href="https://bugs.dpdk.org/show_bug.cgi?id=1642">1642</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Devices bound to igb_uio with VT-d enabled do not work on Linux kernel 3.15-3.17
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>DPDK
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>UNCONFIRMED
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>Normal
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>vhost/virtio
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>dev@dpdk.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>nandinipersad361@gmail.com
          </td>
        </tr>

        <tr>
          <th>Target Milestone</th>
          <td>---
          </td>
        </tr></table>
      <p>
        <div class="bz_comment_block">
          <pre class="bz_comment_text">When VT-d is enabled (iommu=pt intel_iommu=on), devices are 1:1 mapped. In the
Linux kernel unbinding devices from drivers removes that mapping which result
in IOMMU errors. Introduced in Linux kernel 3.15 commit, solved in Linux kernel
3.18 commit.

Implication:
Devices will not be allowed to access memory, resulting in following kernel
errors:

dmar: DRHD: handling fault status reg 2
dmar: DMAR:[DMA Read] Request device [02:00.0] fault addr a0c58000
DMAR:[fault reason 02] Present bit in context entry is clear
Resolution/Workaround:
Use earlier or later kernel versions, or avoid driver binding on boot by
blacklisting the driver modules. I.e., in the case of ixgbe, we can pass the
kernel command line option: modprobe.blacklist=ixgbe. This way we do not need
to unbind the device to bind it to igb_uio.

Affected Environment/Platform:
Linux systems with kernel versions 3.15 to 3.17.

Driver/Module:
igb_uio module.
          </pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
      <div itemscope itemtype="http://schema.org/EmailMessage">
        <div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
          
          <link itemprop="url" href="https://bugs.dpdk.org/show_bug.cgi?id=1642">
          <meta itemprop="name" content="View bug">
        </div>
        <meta itemprop="description" content="Bugzilla bug update notification">
      </div>
    </body>
</html>