| 
         
xen-devel
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  
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. 
  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. >   
 
 
  
 
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
 
 |   
 
 | 
    |