<div dir="ltr"><br><div class="gmail_extra"><div class="gmail_quote">On Mon, Aug 12, 2013 at 6:22 PM, Paul Barrette <span dir="ltr"><<a href="mailto:paul.barrette@windriver.com" target="_blank">paul.barrette@windriver.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"><div><div class="h5">
<br>
<div>On 08/12/2013 06:07 PM, jinho hwang
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div class="gmail_extra"><br>
<div class="gmail_quote">On Mon, Aug 12, 2013 at 4:28 PM, Paul
Barrette <span dir="ltr"><<a href="mailto:paul.barrette@windriver.com" target="_blank">paul.barrette@windriver.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<div>
<div> <br>
<div>On 08/12/2013 04:19 PM, jinho hwang wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Hi All,<br>
<br>
I am using iommu to receive packets both from
hypervisor and from VM. KVM is used for the
virtualization. However, after I deliver the
kernel options (iommu and pci realloc), I can
not receive packets in hypervisor, but VF works
fine in VM. When I tried to receive packets in
hypervisor, dmesg shows the following:<br>
<br>
ixgbe 0000:03:00.1: complete
<br>
ixgbe 0000:03:00.1: PCI INT A disabled
<br>
igb_uio 0000:03:00.1: PCI INT A -> GSI 38
(level, low) -> IRQ 38<br>
igb_uio 0000:03:00.1: setting latency timer to
64 <br>
igb_uio 0000:03:00.1: irq 87 for MSI/MSI-X
<br>
uio device registered with irq 57
<br>
DRHD: handling fault status reg 2
<br>
DMAR:[DMA Read] Request device [03:00.1] fault
addr <b>b9d0f000</b>
<br>
DMAR:[fault reason 02] Present bit in context
entry is clear<br>
<br>
03:00.1 Ethernet controller: Intel Corporation
82599EB 10 Gigabit Dual Port Backplane
Connection (rev 01)<br>
Subsystem: Intel Corporation Ethernet
X520 10GbE Dual Port KX4-KR Mezz<br>
Control: I/O+ Mem+ BusMaster+ SpecCycle-
MemWINV- VGASnoop- ParErr- Stepping- SERR-
FastB2B- DisINTx+<br>
Status: Cap+ 66MHz- UDF- FastB2B-
ParErr- DEVSEL=fast >TAbort- <TAbort-
<MAbort+ >SERR- <PERR- INTx-<br>
Latency: 0, Cache Line Size: 64 bytes
<br>
Interrupt: pin A routed to IRQ 38
<br>
Region 0: Memory at <b>d9400000</b>
(64-bit, prefetchable) [size=4M]<br>
Region 2: I/O ports at ece0 [size=32]
<br>
Region 4: Memory at d9bfc000 (64-bit,
prefetchable) [size=16K]<br>
Expansion ROM at <ignored>
[disabled] <br>
Capabilities: <access denied>
<br>
Kernel driver in use: igb_uio
<br>
Kernel modules: ixgbe
<br>
<br>
<div>We can see those addresses are not matched.
So the kernel got fault. I am wondering why
this happens?</div>
</div>
</blockquote>
</div>
</div>
I have seen this happen when VT-d is enabled in the
bios. If you are using dpdk 1.4, add "iommu=pt" to your
boot line. Without it, no packets are received.<span><font color="#888888"><br>
<br>
Pb</font></span>
<div><br>
<blockquote type="cite">
<div dir="ltr">
<div><br>
</div>
<div>One suspicion for this is BIOS. I am
currently using BIOS version 3.0, but the latest
is 6.3.0. Does this affect the matter? </div>
<div><br>
</div>
<div>Any help appreciated!</div>
<div><br>
</div>
<div>Jinho
<br>
<div>
<br>
</div>
</div>
</div>
</blockquote>
<br>
</div>
</div>
</blockquote>
</div>
<br>
Paul, </div>
<div class="gmail_extra"><br>
</div>
<div class="gmail_extra">thanks. I tried your
suggestion, but it works like no iommu command in boot line. I
passed intel_iommu=pt, and receive packets from hypervisor.
However, when I started VM with "-device
pci-assign,host=01:00.0", it shows the following message:</div>
<div class="gmail_extra"><br>
</div>
<div class="gmail_extra">
<div class="gmail_extra">qemu-system-x86_64: -device
pci-assign,host=03:10.0: No IOMMU found. Unable to assign
device "(null)"</div>
<div class="gmail_extra">
qemu-system-x86_64: -device pci-assign,host=03:10.0: Device
initialization failed.</div>
<div class="gmail_extra">qemu-system-x86_64: -device
pci-assign,host=03:10.0: Device 'kvm-pci-assign' could not
be initialized</div>
<div class="gmail_extra"><br>
</div>
<div class="gmail_extra">The device is detached from
kernel, and move to pci-stub. dmesg does not show any DMAR
fault message anymore. </div>
<div class="gmail_extra"><br>
</div>
<div class="gmail_extra">Any idea? </div>
<div class="gmail_extra"><br>
</div>
<div class="gmail_extra">Jinho</div>
</div>
</div>
</blockquote>
<br></div></div>
Jinho,<br>
you need to specify both<br>
<blockquote>" intel_iommu=on iommu=pt"<span class="HOEnZb"><font color="#888888"><br>
</font></span></blockquote><span class="HOEnZb"><font color="#888888">
Pb<br>
</font></span></div>
</blockquote></div><br>I tried that as well, but it works as if I only add intel_iommu=on.. which means I do not receive any packets from hypervisor. I also have pci realloc added. Does this affect? </div><div class="gmail_extra">
<br></div><div class="gmail_extra">Jinho<br clear="all"><div><br></div></div></div>