xen-users
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
|
|
|