WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-users

Re: [Xen-users] PCI passthrough help!

To: hyyang <hawyuan@xxxxxxxxx>
Subject: Re: [Xen-users] PCI passthrough help!
From: Stephan Seitz <s.seitz@xxxxxxxxxxxx>
Date: Wed, 24 Oct 2007 03:52:53 +0200
Cc: xen-users@xxxxxxxxxxxxxxxxxxx
Delivery-date: Tue, 23 Oct 2007 18:53:52 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <63c711180710231726o79a2514dl4714e33b5e25c702@xxxxxxxxxxxxxx>
List-help: <mailto:xen-users-request@lists.xensource.com?subject=help>
List-id: Xen user discussion <xen-users.lists.xensource.com>
List-post: <mailto:xen-users@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=unsubscribe>
Organization: netz-haut e.K.
References: <63c711180710231726o79a2514dl4714e33b5e25c702@xxxxxxxxxxxxxx>
Sender: xen-users-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 2.0.0.6 (X11/20071022)
hyyang schrieb:
> Hi,
>  
> I am testing the PCI passthrough feature by using xen-unstable and Intel
> DQ35JO motherboard.
> The passthrough seems not working. The PCI devices I want to hide still
> shows up in lspci. The HVM
> creation failed with the following message:

Hi,

as shown on the very first lines of your dmesg, pciback.permissive is not
known to your kernel.
Anyway, pciback.hide=() should work without it. It has been written, that
the ID needs to be entered _exactly_ as it is shown in lspci. I don't know
how "exact" this is meant, but I for myself would take care of any case-
sensitivity and trailing spaces.

That dom0's lspci shows this devices is a little disturbing, but this is
normal. At least on machines I deligated pci devices to domU's the lspci
never missed any of the devices.
What you should _really_ take care about is, that no kernel module
occupies the device from dom0. A manual rmmod should help for now, but
how this is done depends on your distro. Just peek around
/etc/modprobe.d/blacklist (e.g.)
On production machines I add blacklist entries, but additionally move the
module itself out of the tree, just to get really sure that no one accidentially
modprobes this thing.

Your entry in the config looks ok, besides you are hiding two devices and
using only one, but this might match your needs.
Anyway, there are discussions about pciback in HVM. We use this only in PV
domains, but to my knowledge HVM domains generally lacks support for pciback.
But this might have changed on recent releases. I currently don't know if
there are HVM-PV pciback drivers generally available for HVM domU's.

Besides, on our multicore x86-pae machines, I noticed some issues when
starting/stopping pciback'd domU's until I added irq=poll to the dom0's
bootentry. Don't know if this is a bug on particular kernels or xen3.1
at all.

Greetings

Stephan




> VmError: Fail to assign device(0:1a.7): maybe VT-d is not enabled, or
> the device is not exist, or it has already been assigned to other domain
>  
> I have complied the PCI backend driver into Dom0 kernel and also turn on
> the PCI backend debug option.
> The VT-d option in BIOS is enabled.
>  
> Following are my grub.config, hvm, and pciback debug output.
>  
> In grub.config:
>  
> title Xen 3.2 unstable
>         root (hd0,0)
>         kernel /boot/xen-3.2.gz console=vga
>         module /boot/vmlinuz-2.6.18.8-xen ro root=LABEL=/ rhgb quiet
> pciback.permissive pciback.hide=(00:1a.7)(00:1d.7 )
>         module /boot/initrd-2.6.18.8-xen.img
>  
> In hvm file I add:
>  
>      pci = ['00:1a.7']
>  
> Here is the dmesg | grep pciback:
>  
> Bootdata ok (command line is ro root=LABEL=/ rhgb quiet
> pciback.permissive pciback.hide=(00:1a.7)(00:1d.7))
> Kernel command line: ro root=LABEL=/ rhgb quiet pciback.permissive
> pciback.hide=(00:1a.7)(00:1d.7)
> Unknown boot option `pciback.permissive': ignoring
> pciback: wants to seize 0000:00:1a.7
> pciback: wants to seize 0000:00:1d.7
> pciback 0000:00:00.0: probing...
> pciback 0000:00:02.0: probing...
> pciback 0000:00:02.1: probing...
> pciback 0000:00:03.0: probing...
> pciback 0000:00:03.2: probing...
> pciback 0000:00:03.3: probing...
> pciback 0000:00:19.0: probing...
> pciback 0000:00:1a.0: probing...
> pciback 0000:00:1a.1: probing...
> pciback 0000:00:1a.2: probing...
> pciback 0000:00: 1a.7: probing...
> pciback 0000:00:1a.7: seizing device
> pciback 0000:00:1a.7: pcistub_device_alloc
> pciback 0000:00:1a.7: deferring initialization
> pciback 0000:00:1b.0: probing...
> pciback 0000:00:1c.0: probing...
> pciback 0000:00:1c.1: probing...
> pciback 0000:00:1c.2: probing...
> pciback 0000:00:1c.3: probing...
> pciback 0000:00:1c.4: probing...
> pciback 0000:00:1d.0: probing...
> pciback 0000:00:1d.1: probing...
> pciback 0000:00: 1d.2: probing...
> pciback 0000:00:1d.7: probing...
> pciback 0000:00:1d.7: seizing device
> pciback 0000:00:1d.7: pcistub_device_alloc
> pciback 0000:00:1d.7: deferring initialization
> pciback 0000:00:1e.0: probing...
> pciback 0000:00:1f.0: probing...
> pciback 0000:00:1f.2: probing...
> pciback 0000:00:1f.3: probing...
> pciback 0000:00:1f.5: probing...
> pciback 0000:03:00.0: probing...
> pciback 0000:06:03.0: probing...
> pciback: pcistub_init_devices_late
> pciback 0000:00:1d.7: initializing...
> pciback 0000:00:1d.7: initializing config
> pciback 0000:00:1d.7: initializing virtual configuration space
> pciback 0000:00:1d.7: added config field at offset 0x04
> pciback 0000:00: 1d.7: added config field at offset 0x3c
> pciback 0000:00:1d.7: added config field at offset 0x3d
> pciback 0000:00:1d.7: added config field at offset 0x0c
> pciback 0000:00:1d.7: added config field at offset 0x0d
> pciback 0000:00: 1d.7: added config field at offset 0x0f
> pciback 0000:00:1d.7: added config field at offset 0x10
> pciback 0000:00:1d.7: added config field at offset 0x14
> pciback 0000:00:1d.7: added config field at offset 0x18
> pciback 0000:00: 1d.7: added config field at offset 0x1c
> pciback 0000:00:1d.7: added config field at offset 0x20
> pciback 0000:00:1d.7: added config field at offset 0x24
> pciback 0000:00:1d.7: added config field at offset 0x30
> pciback 0000:00: 1d.7: Found capability 0x1 at 0x50
> pciback 0000:00:1d.7: added config field at offset 0x50
> pciback 0000:00:1d.7: added config field at offset 0x52
> pciback 0000:00:1d.7: added config field at offset 0x54
> pciback 0000:00: 1d.7: added config field at offset 0x56
> pciback 0000:00:1d.7: added config field at offset 0x57
> pciback 0000:00:1d.7: enabling device
> pciback 0000:00:1d.7: reset device
> pciback 0000:00:1a.7: initializing...
> pciback 0000:00:1a.7: initializing config
> pciback 0000:00:1a.7: initializing virtual configuration space
> pciback 0000:00:1a.7: added config field at offset 0x04
> pciback 0000:00:1a.7: added config field at offset 0x3c
> pciback 0000:00:1a.7: added config field at offset 0x3d
> pciback 0000:00:1a.7: added config field at offset 0x0c
> pciback 0000:00:1a.7: added config field at offset 0x0d
> pciback 0000:00:1a.7: added config field at offset 0x0f
> pciback 0000:00:1a.7: added config field at offset 0x10
> pciback 0000:00:1a.7: added config field at offset 0x14
> pciback 0000:00:1a.7: added config field at offset 0x18
> pciback 0000:00:1a.7: added config field at offset 0x1c
> pciback 0000:00:1a.7: added config field at offset 0x20
> pciback 0000:00:1a.7: added config field at offset 0x24
> pciback 0000:00:1a.7: added config field at offset 0x30
> pciback 0000:00:1a.7: Found capability 0x1 at 0x50
> pciback 0000:00:1a.7: added config field at offset 0x50
> pciback 0000:00:1a.7: added config field at offset 0x52
> pciback 0000:00:1a.7: added config field at offset 0x54
> pciback 0000:00:1a.7: added config field at offset 0x56
> pciback 0000:00:1a.7: added config field at offset 0x57
> pciback 0000:00:1a.7: enabling device
> pciback 0000:00:1a.7: reset device
>  
>  
>  
>  
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Xen-users mailing list
> Xen-users@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-users


-- 
Stephan Seitz
Senior System Administrator

*netz-haut* e.K.
multimediale kommunikation

zweierweg 22
97074 würzburg

fon: +49 931 2876247
fax: +49 931 2876248

web: www.netz-haut.de <http://www.netz-haut.de/>

registriergericht: amtsgericht würzburg, hra 5054

Attachment: s_seitz.vcf
Description: Vcard

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users
<Prev in Thread] Current Thread [Next in Thread>