Hello. Ralf Baechle wrote:
I have been happily using Linux 2.6.22.1 for ages on PNX8550 (STB810). I have recently decided to step up and move onto Linux 2.6.24 series. However I am not getting very far. :-(
Heh, Daniel, you're not alone -- the Alchemy code got much more breakage before 2.6.24... :-)
The board crashes as soon as local_irq_enable is called in main.c
I was wondering if anyone out there might also be running on an STB810/JBS PNX8550 based system and have any ideas as to why I am crashing. I know that PNX8550 does not enable the R4K Clock source stuff as the chip is a bit 'special' and requires the two timers to be used instead of one.
csrc-r4k.c and cevt-r4k.c assume a standard compliant R4000-style c0_count and c0_compare register. The PNX chips violate the expected behaviour badly so can't use these functions.
But that's not very much of a problem. The timer code is module and it is easy to write something like csrc-pnx.c and cevt-pnx.c to drive a PNX style count/compare timer.
The PNX counter 0 can still be used as the standards clocksource with some ad-hockery (setting comparator to all ones and hooking the interrupt to clear it) but Vitaly went another way using counter 1 for clocksource, and counter 0 as clockevent...
Will look over the code to see if I can spot what crashes the PNXes.
Ralf
WBR, Sergei