>So that it can access the expansion card ROMs using their loaders to get
>things like Ether addresses out of them, and shut the cards down properly
>when rebooting (so that RISC OS and Linux can re-detect them).

I see.  Does it really need a daemon do do that?  I'd have thought just 
mapping the cards temporarily at startup and again at shutdown would suffice.
Not that a daemon really hurts I suppose.

>(Interestingly, I believe that RiscBSD have to write a new loader for
>each and every card that they support).

I didn't think they used loaders at all actually.  You only really need one 
(as far as I can see) if you have software on the ROM that you want the OS to 
be able to get at without it needing to know how the hardware works.  Since 
with both Linux and RISC OS it's the case that you have to specifically 
compile in the appropriate driver, this isn't much of a win.  You can get the 
card ID data out without the loader should you so desire.

RiscBSD has a generic system of `shutdown hooks' that allow drivers to 
register a routine to be called just before halt or reboot.  This lets you 
turn the cards off again when you need to.

BTW, it occurs to me that even in the presence of kcardd (assuming there's 
only one of it) you can avoid a cache flush on context switch if the *old* 
task rather than the new one is a kernel thread.  Or we could just arrange for 
kcardd not to count as a kernel thread.

p.


unsubscribe: body of `unsubscribe linux-arm' to [EMAIL PROTECTED]

Reply via email to