xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* pci passthrough error "unknown command"pci-ins"
       [not found] <l2lfe15d4c41005071430vae777f5pb07db845060190d1@mail.gmail.com>
@ 2010-05-08  0:21 ` Weald Wind
  2010-05-10 15:06   ` Konrad Rzeszutek Wilk
  0 siblings, 1 reply; 3+ messages in thread
From: Weald Wind @ 2010-05-08  0:21 UTC (permalink / raw)
  To: xen-devel


[-- Attachment #1.1: Type: text/plain, Size: 8026 bytes --]

Hi All,

Please help me.

I am now installing the XEN on my PC and trying to config the pci pass
through.

My motherboard is intel DQ45CB which is vtd enabled.
I downloaded the latest xen4.0 source from xen.org which is the latest
release.
I downloaded stable-2.6.32-x dom0 kernel source from jeremy's repository.

After compiling the xen and dom0 kernel, I could play it. I could create
hvm. And the VM was runing very well.

But when I configured the pci pass through, it always failed with  the
following error:

root@charles-dq45:/opt/virtualmachines# xm pci-attach 1 0000:02:00.0

Error: Failed to assign device to IOMMU (0000:02:00.0@100
,msitranslate=1,power_mgmt=0)
Usage: xm pci-attach [-o|--options=<opt>] <Domain> <domain:bus:slot.func>
[virtual slot]
Insert a new pass-through pci device.



root@charles-dq45:~# tail  /var/log/xen/qemu-dm-win7.log

I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0
Log-dirty: no command yet.
xs_read(/local/domain/1/log-throttling): read error
qemu: ignoring not-understood drive `/local/domain/1/log-throttling'
medium change watch on `/local/domain/1/log-throttling' - unknown device,
ignored
cirrus vga map change while on lfb mode
mapping vram to f0000000 - f0400000
platform_fixed_ioport: changed ro/rw state of ROM memory area. now is rw
state.
platform_fixed_ioport: changed ro/rw state of ROM memory area. now is ro
state.
dm-command: unknown command"pci-ins"


when I compiled the xen-tools, it's said the pci pass has been enabled...

root@charles-dq45:/opt/xen-4.0.0/tools# make
....
qemu successfuly configured for Xen qemu-dm build
make -C ioemu-dir all
=== PCI passthrough capability has been enabled ===
make[2]: Entering directory `/data/opt/xen-4.0.0/tools/ioemu-qemu-xen'
  CC    audio/sdlaudio.o
  CC    sdl.o
  AR    libqemu_common.a
=== PCI passthrough capability has been enabled ===
=== PCI passthrough capability has been enabled ===
make[3]: Entering directory
`/data/opt/xen-4.0.0/tools/ioemu-qemu-xen/i386-dm'
  CC    i386-dm/vl.o
/opt/xen-4.0.0/tools/ioemu-dir/vl.c: In function ‘main’:

....


root@charles-dq45:~# tail -f /var/log/xen/xend.log

[2010-05-07 17:01:13 4154] DEBUG (XendDomainInfo:903)
XendDomainInfo.pci_device_configure: ['pci', ['dev', ['slot', '0x00'],
['domain', '0x0000'], ['key', '0000:02:00.0'], ['bus', '0x02'], ['vdevfn',
'0x100'], ['func', '0x0']], ['state', 'Initialising']]
[2010-05-07 17:01:13 4154] DEBUG (XendDomainInfo:675)
XendDomainInfo.hvm_pci_device_create: {'devs': [{'slot': '0x00', 'domain':
'0x0000', 'key': '0000:02:00.0', 'bus': '0x02', 'vdevfn': '0x100', 'func':
'0x0', 'uuid': '125fbeb8-fcca-80ea-41af-6565b6f028f8'}], 'states':
['Initialising']}
[2010-05-07 17:01:13 4154] DEBUG (XendDomainInfo:801)
XendDomainInfo.hvm_pci_device_insert_dev: {'slot': '0x00', 'domain':
'0x0000', 'key': '0000:02:00.0', 'bus': '0x02', 'vdevfn': '0x100', 'func':
'0x0', 'uuid': '125fbeb8-fcca-80ea-41af-6565b6f028f8'}
[2010-05-07 17:01:13 4154] DEBUG (XendDomainInfo:822)
XendDomainInfo.hvm_pci_device_insert_dev: 0000:02:00.0@100
,msitranslate=1,power_mgmt=0


root@charles-dq45:~# xm dmesg

(XEN) VMX: Supported advanced features:
(XEN)  - APIC MMIO access virtualisation
(XEN)  - APIC TPR shadow
(XEN)  - Virtual NMI
(XEN)  - MSR direct-access bitmap
(XEN) HVM: ASIDs disabled.
(XEN) HVM: VMX enabled
(XEN) xsave_init: cpu0: cntxt_max_size: 0x240 and states: 00000000:00000003
(XEN) xsave_init: using cntxt_size: 0x240 and states: 00000000:00000003
(XEN) Intel VT-d Snoop Control not supported.
(XEN) Intel VT-d DMA Passthrough not supported.
(XEN) Intel VT-d Queued Invalidation not supported.
(XEN) Intel VT-d Interrupt Remapping not supported.
(XEN) I/O virtualisation enabled
(XEN) I/O virtualisation for PV guests disabled

root@charles-dq45:~# more menu.lst

title Xen4 Linux Dom0 2.6.32-xen0
root (hd0,0)
kernel /boot/xen-4.0.0.gz vtd=1 iommu=1 dom0_mem=2048M
module /boot/vmlinuz-2.6.32-xen0 root=/dev/md0 ro
 xen_pciback.hide=(01:00.0)(02:00.0)
module /boot/initrd.img-2.6.32-xen0

root@charles-dq45:~# ls -l /sys/bus/pci/drivers/pciback
total 0
lrwxrwxrwx 1 root root    0 2010-05-07 16:35 0000:01:00.0 ->
../../../../devices/pci0000:00/0000:00:01.0/0000:01:00.0
lrwxrwxrwx 1 root root    0 2010-05-07 16:35 0000:02:00.0 ->
../../../../devices/pci0000:00/0000:00:1e.0/0000:02:00.0
--w------- 1 root root 4096 2010-05-07 16:35 bind
lrwxrwxrwx 1 root root    0 2010-05-07 16:35 module ->
../../../../module/xen_pciback
--w------- 1 root root 4096 2010-05-07 16:35 new_id
--w------- 1 root root 4096 2010-05-07 16:35 new_slot
-rw------- 1 root root 4096 2010-05-07 16:35 permissive
-rw------- 1 root root 4096 2010-05-07 16:35 quirks
--w------- 1 root root 4096 2010-05-07 16:35 remove_id
--w------- 1 root root 4096 2010-05-07 16:35 remove_slot
-r-------- 1 root root 4096 2010-05-07 16:35 slots
--w------- 1 root root 4096 2010-05-07 16:35 uevent
--w------- 1 root root 4096 2010-05-07 16:35 unbind

root@charles-dq45:~# xm pci-list-assignable-devices
0000:02:00.0
0000:01:00.0

root@charles-dq45:~# dmesg |grep pciback
[    0.000000] Command line: root=/dev/md0 ro i915.modeset=0
xen_pciback.hide=(01:00.0)(02:00.0)
[    0.000000] Kernel command line: root=/dev/md0 ro i915.modeset=0
xen_pciback.hide=(01:00.0)(02:00.0)
[    0.143801] pciback: wants to seize 0000:01:00.0
[    0.143804] pciback: wants to seize 0000:02:00.0
[    0.143814] pciback 0000:00:00.0: probing...
[    0.143826] pciback 0000:00:01.0: probing...
[
[    0.144008] pciback 0000:01:00.0: probing...
[    0.144010] pciback 0000:01:00.0: seizing device
[    0.144052] pciback 0000:01:00.0: pcistub_device_alloc
[    0.144055] pciback 0000:01:00.0: deferring initialization
[    0.144063] pciback 0000:02:00.0: probing...
[    0.144066] pciback 0000:02:00.0: seizing device
[    0.144107] pciback 0000:02:00.0: pcistub_device_alloc
[    0.144109] pciback 0000:02:00.0: deferring initialization
[    4.448616] pciback: pcistub_init_devices_late
[    4.448621] pciback 0000:02:00.0: initializing...
[    4.448624] pciback 0000:02:00.0: initializing config
[    4.448626] pciback 0000:02:00.0: initializing virtual configuration
space
[    4.448630] pciback 0000:02:00.0: added config field at offset 0x00
[    4.448633] pciback 0000:02:00.0: added config field at offset 0x02
[
[    4.448672] pciback 0000:02:00.0: added config field at offset 0x30
[    4.448695] pciback 0000:02:00.0: Found capability 0x1 at 0x44
[    4.448698] pciback 0000:02:00.0: added config field at offset 0x44
[
[    4.448713] pciback 0000:02:00.0: added config field at offset 0x4b
[    4.448719] pciback 0000:02:00.0: enabling device
[    4.448826] pciback 0000:02:00.0: PCI INT A -> GSI 21 (level, low) -> IRQ
21
[    4.448872] pciback 0000:02:00.0: reset device
[    4.448880] pciback 0000:02:00.0: PCI INT A disabled
[    4.448924] pciback 0000:01:00.0: initializing...
[    4.448927] pciback 0000:01:00.0: initializing config
[    4.448930] pciback 0000:01:00.0: initializing virtual configuration
space
[    4.448932] pciback 0000:01:00.0: added config field at offset 0x00
[    4.448935] pciback 0000:01:00.0: added config field at offset 0x02
[
[    4.448996] pciback 0000:01:00.0: Found capability 0x1 at 0x60
[    4.448999] pciback 0000:01:00.0: added config field at offset 0x60
[    4.449002] pciback 0000:01:00.0: added config field at offset 0x62
[
[    4.449013] pciback 0000:01:00.0: added config field at offset 0x67
[    4.449015] pciback 0000:01:00.0: enabling device
[    4.449024] pciback 0000:01:00.0: enabling device (0000 -> 0003)
[    4.449185] pciback 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ
16
[    4.449774] pciback 0000:01:00.0: reset device
[    4.449779] pciback 0000:01:00.0: PCI INT A disabled

root@charles-dq45:~# dmesg |grep acpiphp
[    4.440713] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5

[-- Attachment #1.2: Type: text/html, Size: 10585 bytes --]

[-- Attachment #2: Type: text/plain, Size: 138 bytes --]

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: pci passthrough error "unknown command"pci-ins"
  2010-05-08  0:21 ` pci passthrough error "unknown command"pci-ins" Weald Wind
@ 2010-05-10 15:06   ` Konrad Rzeszutek Wilk
  2010-05-10 19:16     ` Weald Wind
  0 siblings, 1 reply; 3+ messages in thread
From: Konrad Rzeszutek Wilk @ 2010-05-10 15:06 UTC (permalink / raw)
  To: Weald Wind; +Cc: xen-devel

On Fri, May 07, 2010 at 08:21:39PM -0400, Weald Wind wrote:
> Hi All,
> 
> Please help me.
> 
> I am now installing the XEN on my PC and trying to config the pci pass
> through.
> 
> My motherboard is intel DQ45CB which is vtd enabled.
> I downloaded the latest xen4.0 source from xen.org which is the latest
> release.
> I downloaded stable-2.6.32-x dom0 kernel source from jeremy's repository.
> 
> After compiling the xen and dom0 kernel, I could play it. I could create
> hvm. And the VM was runing very well.
> 
> But when I configured the pci pass through, it always failed with  the
> following error:
> 
> root@charles-dq45:/opt/virtualmachines# xm pci-attach 1 0000:02:00.0
> 
> Error: Failed to assign device to IOMMU (0000:02:00.0@100
> ,msitranslate=1,power_mgmt=0)
> Usage: xm pci-attach [-o|--options=<opt>] <Domain> <domain:bus:slot.func>
> [virtual slot]
> Insert a new pass-through pci device.
> 

Have you tried to have your guest file contain the pci entry instead of
doing hot-plug add? Does that work?

Here is an example:

kernel = "/usr/lib/xen/boot/hvmloader"
builder='hvm'
memory = 2048
maxvcpus = 4
serial='pty'
vcpus = 2
disk = [ 'file:/mnt/lab/vs08/root_image.iso,hdc:cdrom,r']
boot="dn"
vif = [ 'type=ioemu,model=e1000,mac=00:0F:4B:00:00:68, bridge=switch' ]
vfb = [ 'vnc=1, vnclisten=0.0.0.0,vncunused=1']
pci = [ '0000:01:00.0' ]
> 
> 
> root@charles-dq45:~# tail  /var/log/xen/qemu-dm-win7.log
> 
> I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0
> Log-dirty: no command yet.
> xs_read(/local/domain/1/log-throttling): read error
> qemu: ignoring not-understood drive `/local/domain/1/log-throttling'
> medium change watch on `/local/domain/1/log-throttling' - unknown device,
> ignored
> cirrus vga map change while on lfb mode
> mapping vram to f0000000 - f0400000
> platform_fixed_ioport: changed ro/rw state of ROM memory area. now is rw
> state.
> platform_fixed_ioport: changed ro/rw state of ROM memory area. now is ro
> state.
> dm-command: unknown command"pci-ins"

Ugh, that means you don't have CONFIG_PASSTHROUGH set.. but.
> 
> 
> when I compiled the xen-tools, it's said the pci pass has been enabled...
> 
> root@charles-dq45:/opt/xen-4.0.0/tools# make
> ....
> qemu successfuly configured for Xen qemu-dm build
> make -C ioemu-dir all
> === PCI passthrough capability has been enabled ===
> make[2]: Entering directory `/data/opt/xen-4.0.0/tools/ioemu-qemu-xen'
>   CC    audio/sdlaudio.o
>   CC    sdl.o
>   AR    libqemu_common.a
> === PCI passthrough capability has been enabled ===
> === PCI passthrough capability has been enabled ===

You got it there. So is md5sum of the i386-dm/qemu-dm the same as
/usr/<somewhere>/.../xen/qemu-dm? Maybe you haven't installed the
newer version of QEMU?

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: pci passthrough error "unknown command"pci-ins"
  2010-05-10 15:06   ` Konrad Rzeszutek Wilk
@ 2010-05-10 19:16     ` Weald Wind
  0 siblings, 0 replies; 3+ messages in thread
From: Weald Wind @ 2010-05-10 19:16 UTC (permalink / raw)
  To: Konrad Rzeszutek Wilk; +Cc: xen-devel


[-- Attachment #1.1: Type: text/plain, Size: 3491 bytes --]

Thank your very much for your reply and suggestions!

After googling the internet. I found the problem. My previous xen-tools was
not built with pci-utils. After building it with pci-uitls, i didn't install
it into correct place "/usr/local/". My system was still using the old one.
After I reinstall it, everything was working fine!




On Mon, May 10, 2010 at 11:06 AM, Konrad Rzeszutek Wilk <
konrad.wilk@oracle.com> wrote:

> On Fri, May 07, 2010 at 08:21:39PM -0400, Weald Wind wrote:
> > Hi All,
> >
> > Please help me.
> >
> > I am now installing the XEN on my PC and trying to config the pci pass
> > through.
> >
> > My motherboard is intel DQ45CB which is vtd enabled.
> > I downloaded the latest xen4.0 source from xen.org which is the latest
> > release.
> > I downloaded stable-2.6.32-x dom0 kernel source from jeremy's repository.
> >
> > After compiling the xen and dom0 kernel, I could play it. I could create
> > hvm. And the VM was runing very well.
> >
> > But when I configured the pci pass through, it always failed with  the
> > following error:
> >
> > root@charles-dq45:/opt/virtualmachines# xm pci-attach 1 0000:02:00.0
> >
> > Error: Failed to assign device to IOMMU (0000:02:00.0@100
> > ,msitranslate=1,power_mgmt=0)
> > Usage: xm pci-attach [-o|--options=<opt>] <Domain> <domain:bus:slot.func>
> > [virtual slot]
> > Insert a new pass-through pci device.
> >
>
> Have you tried to have your guest file contain the pci entry instead of
> doing hot-plug add? Does that work?
>
> Here is an example:
>
> kernel = "/usr/lib/xen/boot/hvmloader"
> builder='hvm'
> memory = 2048
> maxvcpus = 4
> serial='pty'
> vcpus = 2
> disk = [ 'file:/mnt/lab/vs08/root_image.iso,hdc:cdrom,r']
> boot="dn"
> vif = [ 'type=ioemu,model=e1000,mac=00:0F:4B:00:00:68, bridge=switch' ]
> vfb = [ 'vnc=1, vnclisten=0.0.0.0,vncunused=1']
> pci = [ '0000:01:00.0' ]
> >
> >
> > root@charles-dq45:~# tail  /var/log/xen/qemu-dm-win7.log
> >
> > I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0
> > Log-dirty: no command yet.
> > xs_read(/local/domain/1/log-throttling): read error
> > qemu: ignoring not-understood drive `/local/domain/1/log-throttling'
> > medium change watch on `/local/domain/1/log-throttling' - unknown device,
> > ignored
> > cirrus vga map change while on lfb mode
> > mapping vram to f0000000 - f0400000
> > platform_fixed_ioport: changed ro/rw state of ROM memory area. now is rw
> > state.
> > platform_fixed_ioport: changed ro/rw state of ROM memory area. now is ro
> > state.
> > dm-command: unknown command"pci-ins"
>
> Ugh, that means you don't have CONFIG_PASSTHROUGH set.. but.
> >
> >
> > when I compiled the xen-tools, it's said the pci pass has been enabled...
> >
> > root@charles-dq45:/opt/xen-4.0.0/tools# make
> > ....
> > qemu successfuly configured for Xen qemu-dm build
> > make -C ioemu-dir all
> > === PCI passthrough capability has been enabled ===
> > make[2]: Entering directory `/data/opt/xen-4.0.0/tools/ioemu-qemu-xen'
> >   CC    audio/sdlaudio.o
> >   CC    sdl.o
> >   AR    libqemu_common.a
> > === PCI passthrough capability has been enabled ===
> > === PCI passthrough capability has been enabled ===
>
> You got it there. So is md5sum of the i386-dm/qemu-dm the same as
> /usr/<somewhere>/.../xen/qemu-dm? Maybe you haven't installed the
> newer version of QEMU?
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel
>

[-- Attachment #1.2: Type: text/html, Size: 4525 bytes --]

[-- Attachment #2: Type: text/plain, Size: 138 bytes --]

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2010-05-10 19:16 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <l2lfe15d4c41005071430vae777f5pb07db845060190d1@mail.gmail.com>
2010-05-08  0:21 ` pci passthrough error "unknown command"pci-ins" Weald Wind
2010-05-10 15:06   ` Konrad Rzeszutek Wilk
2010-05-10 19:16     ` Weald Wind

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).