Looking for some advice from some mips boot gurus.
I'm bringing up an SB1/SB1250 port of the mips/ arch
tree. In particular, I'm in time_init() bringing up the
general purpose timer that's going to be used for
the 100Hz clock. The interrupt seems to be the rub.
I've basically copied the request_irq() code from other
ports, but it uses kmalloc(), which I can't use at this point
in the boot sequence since we haven't yet initialized
the allocator (I believe it's done in mem_init()? escapes
me at the moment).
The 4k way around this is to hook its timer interrupt handling
routing up directly to the interrupt handling stub in indyIRQ.S. This
certainly works, but seems somewhat messy to me in that it's a
special case provided only to avoid ordering constraints.
I could hack request_irq to use the boot memory allocator
than reallocate properly after kmalloc is available, but this
is even worse in terms of added complexity.
Anyone know a "better" way to do this that I'm missing?