[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] MMIO ioremap() error with PCI passthrough
On 1/7/08 17:42, "Andy Burns" <lists.xensource.com@xxxxxxxxxxxxxx> wrote: > From my extra printk() debugging the driver now requests 1K, and within > __direct_remap_pfn_range() the size has been rounded up to 4K, > presumably this *is* correct as the mfn seems to has been rounded down? Yes, you can only map memory at page granularity, so this is the smallest mapping that contains the required resource. This is valid. > I checked in 2.6.26 git to see if the saa7134 driver had been altered so > the size had been reduced in more recent kernels, but it has not. I'll > check with the V4L developers whether it should be hardcoded to 1K > instead of 4K, or whether it needs to be sized dynamically for different > cards. Good idea. This kind of thing can be an honest mistake which would normally never cause a problem running natively. > However about 40 seconds after loading the module, I get the following > error :-( Does the card work at all up to this point (first 40s)? Any sign of life after the message prints? This would indicate either that Xen/pciback has got irq routing wrong for this line (so the wrong interrupts are being delivered to the driver) or that for some other reason the driver has decided that there was no work to be done in response to the interrupt. Could the irq line for this device be a shared line? You could try disabling the spurious irq logic in kernel/irq/spurious.c, and then see if the device works and also what the irq rate looks like in /proc/interrupts. -- Keir > irq 17: nobody cared (try booting with the "irqpoll" option) > > Call Trace: > <IRQ> [<ffffffff802af539>] __report_bad_irq+0x30/0x7d > [<ffffffff802af770>] note_interrupt+0x1ea/0x22b > [<ffffffff802aec76>] __do_IRQ+0xbd/0x103 > [<ffffffff8028d06f>] _local_bh_enable+0x61/0xc5 > [<ffffffff8026db3a>] do_IRQ+0xe7/0xf5 > [<ffffffff8039f151>] evtchn_do_upcall+0x86/0xe0 > [<ffffffff802608ce>] do_hypervisor_callback+0x1e/0x2c > <EOI> [<ffffffff802063aa>] hypercall_page+0x3aa/0x1000 > [<ffffffff802063aa>] hypercall_page+0x3aa/0x1000 > [<ffffffff8026f12b>] raw_safe_halt+0x84/0xa8 > [<ffffffff8026c675>] xen_idle+0x38/0x4a > [<ffffffff8024a9bb>] cpu_idle+0x97/0xba > [<ffffffff805f6b09>] start_kernel+0x21f/0x224 > [<ffffffff805f61e5>] _sinittext+0x1e5/0x1eb > > handlers: > [<ffffffff88142ff6>] (saa7134_irq+0x0/0x284 [saa7134]) > Disabling IRQ #17 > > mythbe kernel: Disabling IRQ #17 > > I tried adding irqpoll to the relevent stanza in /etc/grub.conf but the > error still occurs. > > Is this likely that the interrupt handler for the card isn't being wired > up by pcifront, or perhaps a stray interrupt generated by the card? _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |