On Sat, 12 Feb 2005, Adam Lackorzynski wrote:
My questions are: 1 - why to call this switch_to_irq_idle_loop? what's the purpose of it?
The purpose is to prevent that interrupts get through. The tricky part here has been IRQ probing. I guess I need to reevaluate this issue...
Yes, the point is that the thread calls switch_to_irq_idle_loop to disable itself, weird :) (it can't be enabled again, because the one that would do it is itself, but itself disabled itself, I mean... weird :))
Maybe you can test this specific case and not call switch_to_irq_idle_loop when the calling thread is the IRQ one?
2 - if I remove this call, do I get a wrong system or is it ok? what do I lose if it is ok (speed?)?
Should be ok if it works on your system.
Mmm, not very satisfaying as an answer :)
(By the way, the l4linux kernel won't compile with 4k stacks,
It compiled for me as of today but I had to fix some small issues to make it actually work (but I only tested this slightly). Should hit CVS by tomorrow.
you never call irq_ctx_init, maybe you should call it in init_IRQ?)
No, l4linux has always worked more like the 4k-IRQ way, not as the old way in 8k-stacks.
OK, I used the wrong word. It compiled, but it didn't work at runtime.
Adam
Anyway, thanks.
Now, I have some General Protection Faults occuring at l4linux boot time I don't know where and I don't know why. Is it a known issue? because I don't have much time to investigate it. And if it is a known issue, what should I do to fix this? (otherwise, I'll live with it, trying to get the point when time will be there)
Cedric.