Re: Sun4d boot crash in sun4d_init_timers

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

 



Hi Kjetil,

First of all you're right calling will NULL just can't be good. The LEON genirq build_device_irq has been split into two separate parts, one that takes a platofrm device and one that works with "real_irq" just because of this reason. Even though the OpenBoot PROM shuold deliver all information, I think we should be able to bypass it when needed, like in this case. Secondly, the return value from sun4d_build_device_irq() is a real_irq, and that is what causes the problem I guess. Try make it return the virtual IRQ instead, and give that VIRQ to request_irq instead.
Daniel

On Mon, 23 May 2011 19:28:11 +0200 (CEST), Kjetil Oftedal  wrote:
Hi,

The current sparc-next-2.6 encounters a zero pointer on sun4d during boot. I have bisected it down to the changes made during the introduction of genirq. The problematic change is in sun4d_init_timers(). sun4d_build_device_irq() is now called from there with NULL as the first parameter, which will for obvious reasons not work. I've tried to change sun4d_build_device_irq() to allow building a device irq for the timer interrupt without any platform device, as it is a cpu local interrupt(?), and just bypassing all the sbus specifics in sun4d_build_device_irq(), down to irq_alloc(). (Setting pil to real_irq and board to 0). With such a change request_irq() fails with -90, which is probably -ENOSYS from __setup_irq(). Any suggestions on how this could be fixed ?

-
Kjetil Oftedal







--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Kernel Development]     [DCCP]     [Linux ARM Development]     [Linux]     [Photo]     [Yosemite Help]     [Linux ARM Kernel]     [Linux SCSI]     [Linux x86_64]     [Linux Hams]

  Powered by Linux