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

Re: [Xen-devel] pv_ops dom0 kernel failure with ata_piix / irq problems

On Sat, Jan 24, 2009 at 04:09:30PM +0200, Pasi Kärkkäinen wrote:
> On Thu, Jan 22, 2009 at 12:23:26PM -0800, Jeremy Fitzhardinge wrote:
> > Pasi Kärkkäinen wrote:
> > >On Fri, Jan 09, 2009 at 09:01:59PM +0000, Andrew Lyon wrote:
> > >  
> > >>>I just upgraded to newly released Xen 3.3.1 hypervisor but unfortunately 
> > >>>it
> > >>>didn't seem to help with my problem.. I still get the exact same errors 
> > >>>with
> > >>>ata_piix module:
> > >>>
> > >>>http://pasik.reaktio.net/xen/pv_ops-dom0-debug/pv_ops-dom0-bootlog-4-xen331.txt
> > >>>
> > >>>xen_allocate_pirq: returning irq 30 for gsi 18
> > >>>xen_set_ioapic_routing: irq 30 gsi 18 vector 160 ioapic 0 pin 18 
> > >>>triggering 0 polarity 1
> > >>>ata_piix 0000:00:1f.1: PCI INT A -> GSI 18 (level, low) -> IRQ 30
> > >>>xen: PCI device 0000:00:1f.1 pin 1 -> irq 30
> > >>>xen: disable pci device 0000:00:1f.1
> > >>>ata_piix: probe of 0000:00:1f.1 failed with error -38
> > >>>      
> > >>I don't think the problem is ata_piix, I've tried the pv_ops dom0
> > >>kernel on a Dell Optiplex 755 and unbranded system with gigabyte
> > >>motherboard, on both systems none of the storage devices worked,
> > >>including ahci, ata_piix, I even tried putting the root filesystem on
> > >>a usb storage device but that too is broken, I think interrupt routing
> > >>is not working at all perhaps?
> > >>
> > >>I'm going to do more testing this weekend...
> > >>
> > >>    
> > >
> > >Hello.
> > >
> > >I just did some more testing too..
> > >
> > >I upgraded to the latest patches for Linux 2.6.29-rc1-tip
> > >
> > >log of xen+kernel from serial console:
> > >http://pasik.reaktio.net/xen/pv_ops-dom0-debug/pv_ops-dom0-bootlog-5-xen331-linux-2.6.29-rc1.txt
> > >
> > >(XEN) Command line: dom0_mem=1024M loglvl=all guest_loglvl=all 
> > >com1=19200,8n1 console=com1
> > >Kernel command line: ro root=/dev/vg00/lv01 console=hvc0 earlyprintk=xen 
> > >pci=nomsi
> > >
> > >And the failing part of the log is here:
> > >
> > >xen_allocate_pirq: returning irq 30 for gsi 18
> > >xen_set_ioapic_routing: irq 30 gsi 18 vector 160 ioapic 0 pin 18 
> > >triggering 0 polarity 1
> > >ata_piix 0000:00:1f.1: PCI INT A -> GSI 18 (level, low) -> IRQ 30
> > >xen: PCI device 0000:00:1f.1 pin 1 -> irq 30
> > >xen: disable pci device 0000:00:1f.1
> > >Pid: 1, comm: swapper Not tainted 2.6.29-rc1-tip #3
> > >  
> > 
> > That means that the ata-piix driver decided it was unhappy for some 
> > reason, and decided to fali with ENODEV.  It would be very interesting 
> > to know what part of the device probe failed.  From the Xen perspective, 
> > it looks like everything went OK.
> > 
> 
> I just did
> 
> #define ATA_DEBUG
> #define ATA_VERBOSE_DEBUG
> #define ATA_IRQ_TRAP
> 
> in include/linux/libata.h
> 
> and recompiling now.. let's see if that helps.
> 

Here we go:
http://pasik.reaktio.net/xen/pv_ops-dom0-debug/pv_ops-dom0-bootlog-6-xen331-linux-2.6.29-rc1-atadebug.txt

piix_init: pci_register_driver
xen_allocate_pirq: returning irq 30 for gsi 18
xen_set_ioapic_routing: irq 30 gsi 18 vector 160 ioapic 0 pin 18 triggering 0 
polarity 1
ata_piix 0000:00:1f.1: PCI INT A -> GSI 18 (level, low) -> IRQ 30
xen: PCI device 0000:00:1f.1 pin 1 -> irq 30
ata_host_alloc: ENTER
ata_port_alloc: ENTER
ata_port_alloc: ENTER
__ata_port_freeze: ata4294967295 port frozen
__ata_port_freeze: ata4294967295 port frozen
xen: disable pci device 0000:00:1f.1
Pid: 1, comm: swapper Not tainted 2.6.29-rc1-tip #4
Call Trace:
 [<c06dde84>] ? printk+0xf/0x13
 [<c04079bc>] xen_pci_pirq_disable+0x18/0x1c
 [<c0657468>] pcibios_disable_device+0x18/0x1a
 [<c0543303>] do_pci_disable_device+0x4b/0x50
 [<c054345d>] pci_disable_device+0x3f/0x4b
 [<c05437c1>] pcim_release+0x6f/0x74
 [<c05c18ce>] release_nodes+0x14a/0x165
 [<c05c19a4>] devres_release_all+0x25/0x2a
 [<c05bfeb4>] driver_probe_device+0xb7/0x12f
 [<c05bff78>] __driver_attach+0x4c/0x6b
 [<c05bf8da>] bus_for_each_dev+0x3b/0x63
 [<c05bfd42>] driver_attach+0x14/0x16
 [<c05bff2c>] ? __driver_attach+0x0/0x6b
 [<c05bf34d>] bus_add_driver+0x9d/0x1ba
 [<c05c00ff>] driver_register+0x81/0xe1
 [<c04e107e>] ? sysfs_add_file+0xe/0x13
 [<c0545bff>] __pci_register_driver+0x35/0x62
 [<c08a155e>] piix_init+0x24/0x4e
 [<c040304a>] do_one_initcall+0x4a/0x122
 [<c08a153a>] ? piix_init+0x0/0x4e
 [<c046ffd9>] ? register_irq_proc+0x7f/0x9b
 [<c0470048>] ? init_irq_proc+0x53/0x60
 [<c0879319>] kernel_init+0x104/0x155
 [<c0879215>] ? kernel_init+0x0/0x155
 [<c0409ed3>] kernel_thread_helper+0x7/0x10
ata_piix: probe of 0000:00:1f.1 failed with error -38
piix_init: done


I guess I have to start reading the source to figure out why the port is
'frozen'.. 

-- Pasi

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

<Prev in Thread] Current Thread [Next in Thread>