[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] IOMMU and AMD 890fx



Hi Jens,

Thanks for testing it out. I tested Xen 4.0 on my machine this morning. The passthru did work. Here are the details:

1. I used Xen 4.0 (xen-4.0-testing.hg tree) + 2.6.18.8 Dom0
2. My system is a workstation; so it doesn't have a HDA device. Here is what I get from lspci (I skipped some of un-related devices):
==========
...
00:14.0 SMBus: ATI Technologies Inc SBx00 SMBus Controller (rev 3b)
00:14.1 IDE interface: ATI Technologies Inc SB700/SB800 IDE Controller
00:14.3 ISA bridge: ATI Technologies Inc SB700/SB800 LPC host controller
00:14.4 PCI bridge: ATI Technologies Inc SBx00 PCI to PCI Bridge
00:14.5 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI2 Controller
...
01:00.0 VGA compatible controller: ATI Technologies Inc Device 949e
01:00.1 Audio device: ATI Technologies Inc RV730XT Audio device [Radeon HD 4670] 02:00.0 Ethernet controller: Intel Corporation 82571EB Gigabit Ethernet Controller (rev 06) 02:00.1 Ethernet controller: Intel Corporation 82571EB Gigabit Ethernet Controller (rev 06) 03:00.0 Ethernet controller: Intel Corporation 82572EI Gigabit Ethernet Controller (Copper) (rev 06)
==========
As you can see, I have two NICs (a two-port Intel 82571EB NIC and a single-port 82572EI NIC). I am going to passthru 82571EB NIC to a Linux guest VM.

3. Here is the output from "xm dmesg". Because you also see a similar message, I think your IOMMU is working.
(XEN) AMD-Vi: IOMMU 0 Enabled.
(XEN) I/O virtualisation enabled
(XEN) I/O virtualisation for PV guests disabled

FYI, here is my grub entry:
==================
title 64bit Xen-unstable on SLES11
   root (hd0,5)
   kernel /boot/xen.gz dom0_mem=512M console=com2 com2=115200,8n1 iommu=1
   module /boot/vmlinuz-2.6.18.8 root=/dev/hdb6 resume=/dev/hdb3
   module /boot/initrd-2.6.18.8
==================

4. After login, I removed 82571EB from dom0

> echo -n "0000:02:00.0" > /sys/bus/pci/drivers/e1000e/unbind
>  echo -n "0000:02:00.1" > /sys/bus/pci/drivers/e1000e/unbind
>  echo -n "0000:02:00.0" > /sys/bus/pci/drivers/pciback/new_slot
>  echo -n "0000:02:00.1" > /sys/bus/pci/drivers/pciback/new_slot
>  echo -n "0000:02:00.0" > /sys/bus/pci/drivers/pciback/bind
>  echo -n "0000:02:00.1" > /sys/bus/pci/drivers/pciback/bind

5. In guest (ttylinux) configure file, I use the following setting.
...
pci=[ '02:00.0', '02:00.1' ]
...

6. After ttylinux booted, I saw two Intel NICs. The IP address was obtained automatically. See the attached image file.

Same as what Konrad has mentioned, I would recommend two things: i) instead of passthru HDA, try other independent PCIe devices first (such as NICs); ii) configure the passthru devices in guest configure file, instead of use it a hot-plug device. I can send you my guest configure file if you need it.

PS: I am pretty confident HDA passthru work because I tested it on an desktop system before. Here is the list of devices I have passthru to a Win7 guest VM on that system: (1) USB keyboard and mouse; (2) HDA audio; (3) ATI graphics.

Thanks,
-Wei



Konrad Rzeszutek Wilk wrote:
On Thu, Jun 17, 2010 at 12:09:31AM +0200, Jens Krehbiel-Gräther wrote:
Hi!

I now have a Asus Crosshair IV for testing and this board (as I
postet earlier) supports iommu. Now I have installed Debian lenny
(5.0) and compiled xen 4.0.0.
Xen is running now and I have installed a hvm debian lenny to which
I would like to bind a pci device but that doesn't work.
Perhaps I am doing something wrong and you could help me?

Is that the _only_ PCI device you have tried to assign? Did you try to
assign other PCI devices which have the function number being zero?
and xm dmesg this:

(XEN) domctl.c:853:d0 XEN_DOMCTL_assign_device: assign device
(0:14.2) failed

That is not very useful. Wish it gave you the return code at least.
If you are comfortable with adding printks in the Xen hypervisor I would modify it a bit to see what was the 'ret' value and why
'intel_iommu_assign_device' function failed.

So can anyone tell me what I am doing wrong??

Please also attach the full serial long, including the Xen one - and run
it with 'loglvl=all iommu=verbose'.


JPEG image

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.