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

RE: [Xen-devel] Re: Fire-wire passthrough with Linux pv-ops (2.6.31.1)



Hi En Ming,
 
I found the line "register_real_device: Error: Binding of interrupt failed! rc=-1".  So I guess the Fire-wire device doesn't support MSI, and shares IRQ with other devices. This is the issue I and Jeremy are discussing. You can search mail subject "pv-ops: fix shared irq device passthrough" in mailing list for more details. Pls apply the attached patch to pv-ops dom0 see if it fixes your problem.
 
 
Regards,
Weidong


From: Mr. Teo En Ming (Zhang Enming) [mailto:space.time.universe@xxxxxxxxx]
Sent: 2009年11月1日 22:08
To: Konrad Rzeszutek Wilk
Cc: Jeremy Fitzhardinge; xen-devel@xxxxxxxxxxxxxxxxxxx; Han, Weidong; space.time.universe@xxxxxxxxx; xen-users@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Xen-devel] Re: Fire-wire passthrough with Linux pv-ops (2.6.31.1)

Hi All,

I have just installed Slackware64 13.0 64-bit Linux as HVM domU. Please refer to http://enmingteo.wordpress.com/2009/11/01/picture-tutorial-how-to-setup-slackware64-13-0-hvm-domu-with-xen-3-5-unstable-pv-ops-dom0-kernel-2-6-31-4-in-fedora-11-x86-64-dom0/ for more details and screenshots.

I have tried to passthrough the firewire controller on Intel DQ45CB motherboard to Slackware64 13.0 HVM domU but I can't load the kernel modules for it.

Please have a look at the following output within Slackware64 13.0 HVM domU.

00:05.0 FireWire (IEEE 1394): Agere Systems FW322/323 (rev 70) (prog-if 10 [OHCI])
    Subsystem: Intel Corporation Device 1003
    Flags: bus master, medium devsel, latency 128, IRQ 36
    Memory at e3001000 (32-bit, non-prefetchable) [size=4K]
    Memory at e3002000 (32-bit, non-prefetchable) [size=4K]
    Capabilities: [44] Power Management version 2
    Kernel driver in use: ohci1394
    Kernel modules: ohci1394

root@slackware64-13:~# lsmod | egrep "(ohci|1394)"
root@slackware64-13:~# cd /lib/modules/2.6.29.6/kernel/drivers/ieee1394/
root@slackware64-13:/lib/modules/2.6.29.6/kernel/drivers/ieee1394# ls
dv1394.ko  eth1394.ko  ieee1394.ko  ohci1394.ko  pcilynx.ko  raw1394.ko  sbp2.ko  video1394.ko
root@slackware64-13:/lib/modules/2.6.29.6/kernel/drivers/ieee1394# modinfo ohci1394.ko
filename:       ohci1394.ko
license:        GPL
description:    Driver for PCI OHCI IEEE-1394 controllers
author:         Sebastien Rougeaux <sebastien.rougeaux@xxxxxxxxxx>
alias:          pci:v*d*sv*sd*bc0Csc00i10*
depends:        ieee1394
vermagic:       2.6.29.6 SMP mod_unload
parm:           phys_dma:Enable physical DMA (default = 1). (int)
root@slackware64-13:/lib/modules/2.6.29.6/kernel/drivers/ieee1394# modinfo ieee1394.ko
filename:       ieee1394.ko
license:        GPL
depends:       
vermagic:       2.6.29.6 SMP mod_unload
parm:           ignore_drivers:Disable automatic probing for drivers. (int)
parm:           fcp:Map FCP registers (default = 1, disable = 0). (int)
parm:           disable_nodemgr:Disable nodemgr functionality. (int)
parm:           disable_irm:Disable Isochronous Resource Manager functionality. (bool)
root@slackware64-13:/lib/modules/2.6.29.6/kernel/drivers/ieee1394# modprobe ieee1394   
FATAL: Error inserting ieee1394 (/lib/modules/2.6.29.6/kernel/drivers/ieee1394/ieee1394.ko): Invalid argument
root@slackware64-13:/lib/modules/2.6.29.6/kernel/drivers/ieee1394# modprobe ohci1394   
FATAL: Error inserting ohci1394 (/lib/modules/2.6.29.6/kernel/drivers/ieee1394/ohci1394.ko): Invalid argument
root@slackware64-13:/lib/modules/2.6.29.6/kernel/drivers/ieee1394# dmesg | grep -i firewire
root@slackware64-13:/lib/modules/2.6.29.6/kernel/drivers/ieee1394# dmesg | grep -i ieee
ieee1394: module is already loaded
ieee1394: module is already loaded
ieee1394: module is already loaded
ieee1394: module is already loaded
ieee1394: module is already loaded
ieee1394: module is already loaded
root@slackware64-13:/lib/modules/2.6.29.6/kernel/drivers/ieee1394# lsmod | grep ieee1394
root@slackware64-13:/lib/modules/2.6.29.6/kernel/drivers/ieee1394# dmesg | grep 1394
ohci1394 0000:00:05.0: PCI INT A -> GSI 36 (level, low) -> IRQ 36
ohci1394: fw-host0: OHCI-1394 1.0 (PCI): IRQ=[36]  MMIO=[e3001000-e30017ff]  Max Packet=[2048]  IR/IT contexts=[8/8]
ieee1394: module is already loaded
ohci1394: module is already loaded
ieee1394: module is already loaded
ohci1394: module is already loaded
ieee1394: module is already loaded
ieee1394: module is already loaded
ieee1394: module is already loaded
ieee1394: module is already loaded
ohci1394: module is already loaded

Debug messages in Dom0:

domid: 3
qemu: the number of cpus is 2
config qemu network with xen bridge for  tap3.0 eth0
Watching /local/domain/0/device-model/3/logdirty/next-active
Watching /local/domain/0/device-model/3/command
qemu_map_cache_init nr_buckets = 10000 size 4194304
shared page at pfn feffd
buffered io page at pfn feffb
Guest uuid = 9a35fdea-fa74-6fec-e0f2-a852836d9a22
Time offset set 0
cirrus_vga_enabled
populating video RAM at ff000000
mapping video RAM from ff000000
Register xen platform.
Done register platform.
xs_read(/vm/9a35fdea-fa74-6fec-e0f2-a852836d9a22/log-throttling): read error
platform_fixed_ioport: changed ro/rw state of ROM memory area. now is rw state.
xs_read(/local/domain/0/device-model/3/xen_extended_power_mgmt): read error
xs_read(): vncpasswd get error. /vm/9a35fdea-fa74-6fec-e0f2-a852836d9a22/vncpasswd.
medium change watch on `hdc' (index: 1): /media/hitachi/slackware64-13.0-install-dvd.iso
I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0
I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0
dm-command: hot insert pass-through pci dev
register_real_device: Assigning real physical device 02:01.0 ...
pt_iomul_init: Error: pt_iomul_init can't open file /dev/xen/pci_iomul: No such file or directory: 0x2:0x1.0x0
pt_register_regions: IO region registered (size=0x00001000 base_addr=0xd3801000)
pt_register_regions: IO region registered (size=0x00000100 base_addr=0xd3800000)
register_real_device: Error: Binding of interrupt failed! rc=-1
register_real_device: Real physical device 02:01.0 registered successfuly!
IRQ type = INTx
cirrus vga map change while on lfb mode
pt_iomem_map: e_phys=e3001000 maddr=d3801000 type=0 len=4096 index=0 first_map=1
pt_iomem_map: e_phys=e3002000 maddr=d3800000 type=0 len=4096 index=1 first_map=1
mapping vram to e0000000 - e0400000
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.
pt_pci_write_config: Warning: Guest attempt to set address to unused Base Address Register. [00:05.0][Offset:30h][Length:4]

The line immediately above looks very suspicious.

--
Mr. Teo En Ming (Zhang Enming) Dip(Mechatronics) BEng(Hons)(Mechanical Engineering)
Alma Maters:
(1) Singapore Polytechnic
(2) National University of Singapore
My Primary Blog: http://teo-en-ming-aka-zhang-enming.blogspot.com
My Secondary Blog: http://enmingteo.wordpress.com
My Youtube videos: http://www.youtube.com/user/enmingteo
Email: space.time.universe@xxxxxxxxx
MSN: teoenming@xxxxxxxxxxx
Mobile Phone (SingTel): +65-9648-9798
Mobile Phone (Starhub Prepaid): +65-8369-2618
Age: 31 (as at 30 Oct 2009)
Height: 1.78 meters
Race: Chinese
Dialect: Hokkien
Street: Bedok Reservoir Road
Country: Singapore

On Sat, Oct 24, 2009 at 2:19 AM, Mr. Teo En Ming (Zhang Enming) <space.time.universe@xxxxxxxxx> wrote:
From the screenshots of the device manager in the Win XP Home domU,
the OHCI IEEE 1394 firewire controller appears to be working properly.
The Windows drivers for the firewire controller reports that the
firewire controller is working fine.

However, when you connect a firewire-based digital video camera to the
firewire port, it is not detected in the Windows virtual machine.

I will probably have to find time to install a Linux HVM domU and try
to pass through the 1394 controller to it.

--
Mr. Teo En Ming (Zhang Enming) Dip(Mechatronics) BEng(Hons)(Mechanical
Engineering)
Alma Maters:
(1) Singapore Polytechnic
(2) National University of Singapore
Blog URL: http://teo-en-ming-aka-zhang-enming.blogspot.com
Email: space.time.universe@xxxxxxxxx
MSN: teoenming@xxxxxxxxxxx
Mobile Phone: +65-9648-9798
Street: Bedok Reservoir Road
Republic of Singapore


On Sat, Oct 24, 2009 at 1:57 AM, Konrad Rzeszutek Wilk
> On Sat, Oct 24, 2009 at 01:47:31AM +0800, Mr. Teo En Ming (Zhang Enming) wrote:
>> Hi,
>>
>> Could you help me look at here
>> http://lists.xensource.com/archives/html/xen-devel/2009-10/msg01149.html
>> and also here http://lists.xensource.com/archives/html/xen-devel/2009-10/msg01134.html
>
> Its looks to be working from the Dom0 side just fine. I am curious as what is happening
> on the Windows driver side. I don't know enough about where Windows drivers put
> debug information so I can't suggest where to look there. One suggestion is that
> you install Fedora Core 11 as a HVM guest and passthrough your firewire controller to it.
> And then include the logs from the Fedora domU - that should give more insight on why
> it is not working properly.
>




Attachment: 0001-pv-ops-fix-shared-irq-device-passthrough-v2.patch
Description: 0001-pv-ops-fix-shared-irq-device-passthrough-v2.patch

_______________________________________________
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®.