On Mon, Mar 22, 2010 at 04:04:09PM +0800, Han, Weidong wrote:
> The faults were caused by that the DMA address was not mapped in VT-d page
> Could you have following two tries:
> 1) assign it to pv domU without VT-d
Btw are there other methods of disabling VT-d PCI passhtru than having
iommu=off for xen.gz in grub.conf?
ie. can you somehow select "use normal PV passthru for this guest" and "but
still use VT-d passthru for this guest" ?
ps. I'm just writing a xen wiki page for PCI passthru and adding these things
and the common failure scenarios there.
> 2) assign it to a hvm guest
> -----Original Message-----
> From: Sander Eikelenboom [mailto:linux@xxxxxxxxxxxxxx]
> Sent: Monday, March 22, 2010 5:20 AM
> To: Konrad Rzeszutek Wilk
> Cc: Han, Weidong; xen-devel@xxxxxxxxxxxxxxxxxxx
> Subject: [pvops xen/next ][iommu] attenpt to passthrough PCI-e usb controllor
> to PV domU: (XEN) traps.c:2309:d1 Domain attempted WRMSR 000000000000008b
> from 00000a07:00000000 to 00000000:00000000.
> Hi Han/Konrad,
> In my setup i'm trying to passthrough an USB 3.0 pci-e controller to a PV
> - xen: 4.0.0-rc6
> - dom0: kernel xen/next
> - domU: kernel 2.6.33 from
> ( to have pci-front together with most recent usb3.0 xhci drivers.
> - USB 3.0 xhci drivers work fine on the baremetal with the 2.6.33 kernel.
> This is on a intel Q45 chipset with IOMMU.
> This is my boot config:
> title xen-4.0.0-rc6.gz / Debian GNU/Linux, kernel 2.6.32
> root (hd0,0)
> kernel /boot/xen-4.0.0-rc6.gz dom0_mem=768M loglvl=all
> loglvl_guest=all iommu=pv iommu_inclusive_mapping=1
> module /boot/vmlinuz-2.6.32 root=/dev/sda1 ro earlyprintk=xen
> max_loop=255 xen-pciback.hide=(03:00.0)
> module /boot/initrd.img-2.6.32
> When booting the domU xm dmesg gets filled with the following when the usb
> controller tries to initialize/:
> (XEN) traps.c:2309:d1 Domain attempted WRMSR 000000000000008b from
> 00000a07:00000000 to 00000000:00000000.
> (XEN) [VT-D]iommu.c:821: iommu_fault_status: Primary Pending Fault
> (XEN) [VT-D]iommu.c:796: DMAR:[DMA Read] Request device [03:00.0] fault addr
> 1ff94000, iommu reg = ffff82c3fff54000
> (XEN) DMAR:[fault reason 06h] PTE Read access is not set
> (XEN) print_vtd_entries: iommu = ffff83007c866970 bdf = 3:0.0 gmfn = 1ff94
> (XEN) root_entry = ffff83007c872000
> (XEN) root_entry = 78f56001
> (XEN) context = ffff830078f56000
> (XEN) context = 101_2f0e1001
> (XEN) l3 = ffff83002f0e1000
> (XEN) l3_index = 0
> (XEN) l3 = 2f0e0003
> (XEN) l2 = ffff83002f0e0000
> (XEN) l2_index = ff
> (XEN) l2[ff] = 0
> (XEN) l2[ff] not present
> Anyone any tips on what i could try ?, is this something caused by xen, or
> something by the usb driver not adhering to kernel DMA-api ?
> - xm-info.txt
> - xm-dmesg.txt
> - xend.log
> - dom0-dmesg.txt
> - dom0-lspci-tree.txt
> - dom0-lspci.txt
> - domU-lspci.txt
> - domU-dmesg.txt
> Xen-devel mailing list
Xen-devel mailing list